screenコマンドと同じで、1つの端末の中でタブブラウザのように複数の端末を開けるもの。
自分はこのコマンドのお陰でMac上のターミナルのウィンドウは1つかせいぜい2つしか開かず、中でtmuxで複数の端末を起動している。
以下で <prefix> は Ctrl+b など、tmuxのプリフィックキーで、設定によって変わる。
c
&
w
o
(小文字のオー)x
:
list-keys
でエンターを押せば、キーバイドの一覧が表示される。# セッション一覧tmux ls# またはtmux list-sessions# 名前をつけてセッションを開始tmux new -s hoge# 特定の名前のセッションに接続tmux attach -t 名前# セッションの名前を変更tmux rename -t 現名前 新名前
たくさんのリモートホストに対して、同じコマンド操作をしたい場合に、いちいちそれぞれのリモートホストにSSH接続して同じキー入力するのはとても面倒。それを解決してくれるのが、tmuxのsynchronize-panesの機能。
1つのウィンドウの中のすべてのペインに対して同じキー入力をさせるには、いずれかのペインで以下のコマンドを実行する。
tmux set-window-option synchronize-panes on
コマンドを実行した後は、どのペインに入力してもすべてのペインに反映される。
終了するには以下のコマンドを実行する。
tmux set-window-option synchronize-panes off
それぞれのペインで別々のホストにSSH接続してから、同じ操作をするには、SSH接続してからではこのtmuxコマンドをキックできないので、<prefix>を押した後に、:set-window-option synchronize-panes on
と入力し、エンターを押すことで、この機能を有効にする。:
のあとのコマンド入力ではタブで補完が効くので、それほど面倒ではないが、私は .tmux.conf に以下のように書いている。
bind S setw synchronize-panes onbind s setw synchronize-panes off
tmux -V
ウィンドウの中に2つのペインがある場合に、どのペインがアクティブになっているのかが、1.7まではわかりにくかったが、1.8からは境界の線が2つに分かれて描画されるようになって、推測できるようになった。
非表示にするには
set status off
再度、表示させるには
set status on
tmuxの画面からは <prefix>: set status off
Enter と押すことでその場で変更できる。
tmux -V