魔法使いの卵

WEBエンジニアの卵の成長記録

tmuxの基本的な使い方から設定ファイルのサンプルまで

tmuxとは

tmuxの用語

  • Session

    • 作業をまとめて行うためのプロジェクトのようなもの
    • windowを全部消さない限りバックグラウンドで動作し続ける
  • Window

    • ブラウザのタブみたいなもの(リソースの限り開くこと可能)
  • Pane

    • windowの画面分割をすること(vimの画面分割とやってることはおんなじ)
  • detach

    • tmuxからセッションを切り離すことをdetach
  • attach
    • tmuxにセッションを接続し直すことをattach

tmuxの導入

session周りのコマンド

やりたいこと 手法
名前付きのセッションを作る tmux new -s セッションの名前
sessionを切り離す "ctrl" と "b"を同時押し後に[ d ]を押す
指定したsessionに繋ぎ直す tmux a -t セッション名
sessionの名前を変える "ctrl" と "b"を同時押ししたあとに[ $ ]を押す。あとは付けたい名前をタイプするだけ
tmuxの一覧を見る tmux ls
sessionを指定して殺す tmux kill-session -t セッション名
sessionを全て殺す tmux kill-server

window周りのコマンド

やりたいこと 手法
windowの追加 "ctrl" と "b"を同時押し後に[ c ]を押す
windowの指定切り替え "ctrl" と "b"を同時押し後に[ 切り替えたいwindowの数字 ]を押す
現在のwindowから次のwindowへ切り替え "ctrl" と "b"を同時押し後に[ n ]を押す
現在のwindowから前のwindowへ切り替え "ctrl" と "b"を同時押し後に[ p ]を押す
windowの名前を変える 変えたいwindowに移動して"ctrlol" と [ b ]を同時押し後に","を押す
windowの一覧から任意のwindowに切り替えたい "ctrl" と "b"を同時押し後に[ w ]を押す
windowを検索したい "ctrl" と "b"を同時押し後に[ f ]を押す
windowを終了させたい "ctrl" と "b"を同時押し後に[ & ]を押す

pane周りの操作

やりたいこと 手法
水平分割したい "ctrl" と "b"を同時押し後に[ " ]を押す
垂直分割したい "ctrl" と "b"を同時押し後に[ % ]を押す
自分が今操作しているpaneを知りたい 緑の枠でかこまれているところ
paneの移動(順番に遷移する) "ctrl" と "b"を同時押し後に[ o ]を押す
paneの移動(任意のpaneに行く) "ctrl" と "b"を同時押し後に[ q ]を押す(数字が表示されてる間に移動したい先の数字を叩く)
paneの配置を次の場所の奴と入れ替えたい "ctrl" と "b"を同時押し後に[ { ]を押す
paneの配置を前の場所の奴と入れ替えたい "ctrl" と "b"を同時押し後に[ } ]を押す
paneの解除 "ctrl" と "b"を同時押し後に[ x ]を押す(消すの?ってきかれるため"y")
paneをwindowとして独立させたい "ctrl" と "b"を同時押し後に[ ! ]を押す

設定ファイルをdotfieに置く

  • userの配下にdotfileを作る
    • mkdir dotfile
    • cd dotfile
  • 設定ファイルを作る
    • vim .tmux.conf
  • 設定はqiita等に素敵なものがある以下はサンプル
qiitaとかでいいものをパクろう
set -g prefix C-t
unbind C-b
set -g mode-keys vi
bind C-t send-prefix
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
  • dotfileから/user配下にシンボリックリンクを貼る

    • ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf
  • 以上で.tmux.confもバージョン管理可能

どんなコマンドがあるのかを見る

  • "ctrlol" と "b"を同時押し後に"?"を押す

時計を出す

  • "ctrlol" と "b"を同時押し後に"t"を押す

おもったこと

  • とりあえず、ここに書いてるあるものは全部試して使い方練習してみたけどキーバインドを覚えるまでがつらいかも
  • defaultのキーバインドを覚えるべきかカスタマイズするべきか迷う
  • たぶん設定いじるとおもう
  • これちゃんと使えたらすごい捗ることができそう
  • sshと組み合わせたら最強なんじゃないかとおもったりした