tmux のコマンド/ショートカットキーとレイアウトの使い方
tmux は、ターミナルの画面を分割したり、複数のセッションを作成・保持して切り替えることができるコマンドです。
ショートカットキーは vim と同じで操作に慣れが必要ですが、覚えるととても便利です。
また、ファイルに予めレイアウトを作成しておけば、コマンド一発で呼び出せます。
マニュアルページ
目次
セッション(- session)
セッションの開始
$ tmux $ tmux new $ tmux new-session
セッションに名前をつけて起動
tmux new -s [セッション名]
$ tmux new -s dev
セッションの名前変更
tmux rename -t [変更前セッション名] [変更後セッション名]
$ tmux rename-session -t 0 dev $ tmux rename -t 0 dev
現在起動中のセッションを確認
$ tmux ls $ tmux list-session
セッションに接続されているクライアントを確認
$ tmux lsc $ tmux list-client
セッションをデタッチ(キー)
Ctrl-b + d Ctrl-b + : detach-client
セッションのアタッチ
接続したいセッションを指定(指定しなければ最後のセッションにアタッチされる) セッション番号は tmux list-session で確認できる
$ tmux a $ tmux attach $ tmux attach -t 0
セッション名の変更(以下は、セッション 0 の名前を dev に変更)
$ tmux rename-session -t 0 dev $ tmux rename -t 0 dev
セッションの削除
セッションを指定しない場合は、直前にアタッチしていたセッションが削除される
$ tmux kill-session $ tmux kill-session -t 1
全てのセッションの削除
$ tmux kill-server
ウィンドウ(- window)
新規ウィンドウ
Ctrl-b + c Ctrl-b + : new-window
ウィンドウの切り替え
Ctrl-b + ウィンドウ番号
上の番号のウィンドウへ切り替え
Ctrl-b + n
下の番号のウィンドウへ切り替え
Ctrl-b + p
最後に操作したウィンドウへ移動
Ctrl-b + l
ウィンドウ一覧表示
Ctrl-b + w
ウィンドウ名を変更
Ctrl-b + ,
ウィンドウの削除
Ctrl-b + &
ウィンドウの終了(ターミナルを閉じるときと同じです)
$ exit
ペイン(- pane)
水平分割
Ctrl-b + "
垂直分割
Ctrl-b + %
分割解除(ペインをウィンドウ化する)
Ctrl-b + !
ペインの終了
Ctrl-b + x
ペインの配置変更(順番に配置を変更(提案)してくれる)
Ctrl-b + SPACE Ctrl-b + Shift + SPACE
ペイン間の移動
- 次のペインに移動
Ctrl-b + o
- ペインのインジケーター番号を表示
Ctrl-b + q + 番号
ペインの入れ替え
- 上のペイントと入れ替え
Ctrl-b + {
- 下のペイントと入れ替え
Ctrl-b + }
ペインの縦横の幅を調整
- 上
Ctrl-b + k
- 下
Ctrl-b + j
- 左
Ctrl-b + h
- 右
Ctrl-b + l
コピー(- copy)
クリップボードにコピーするには以下のように設定ファイル(.tmux.conf)に書いておきます。(xsel をインストールしている必要がある)
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "cat | tr -d '\r' | tr -d '\n' | xsel -i --clipboard"
- コピーモードの開始
Ctrl-b [
- コピーの始点を選択
SPACE
- コピーの終点を選択
ENTER
- クリップボードへの書き出し
Ctrl-b + >
- 貼り付け(コピーモードの終了)
Ctrl-b + ]
レイアウト(- layout)
ファイルの記述方法は、ショートカットキーでレイアウトを作成する手順のように、
順番にコマンドを書いていきます。以下ファイルで使えるコマンド
- 現在のウィンドウの名前を変更
rename-window -t 0 dev
- 新しいウィンドウを作って名前を変更
new-window -n dev
- ウィンドウを横に分割
splitw -d
- ウィンドウを縦に分割
splitw -h -d
- ペイン間の移動
上に移動 select-pane -U 下に移動 select-pane -D 左に移動 select-pane -L 右に移動 select-pane -R
- ペインのリサイズ
上方向にサイズを増やす resize-pane -U 下方向にサイズを増やす resize-pane -D 左方向にサイズを増やす resize-pane -L 右方向にサイズを増やす resize-pane -R 以下のように数値を渡すことでリサイズできます resize-pane -U 7
- コマンドの実行 (tmux send-keys -t [ウィンドウ名] [コマンド] C-m)
レイアウトの起動時に
tail -f
でログファイルを開きたい場合は以下のように記述します。
send-keys -t name 'tail -f ~/log/file.log' C-m
レイアウトファイルの書き方
適当な場所に 適当なファイルを作成します。
$ mkdir ~/tmux-layouts && cd $_ $ vim quad-layout
作成したファイル(~/tmux-layouts/quad-layout) に以下を記述します。(#
はコメントとして使えます)
# ウィンドウ名をつける(省略可能) rename-window -t 0 main # 横に分割(これで上と下の2つに分割された状態) splitw -d # 上のペインを縦に分割(3つに分割された状態) splitw -h -d # 下のペインに移動 select-pane -D # 下のペインを縦に分割(これで4分割) splitw -h -d # 右上のペインで top コマンドを実行 send-keys -t 1 'top' C-m # 右下のペインでログファイルを表示 send-keys -t 3 'tail -f /var/log/syslog' C-m
以下のコマンドでレイアウトを呼び出すことができます。
$ tmux new-session\; source-file ~/tmux-layouts/quad-layout
後は .bashrc や .bash_aliases に書いておけば $ tmux-quad
を実行するだけで呼び出せます。
alias tmux-quad="tmux new-session\; source-file ~/tmux-layouts/quad-layout"