はじめに
tmuxを使って分割したペインで作業画面を一発で立ち上げているとターミナルウィンドウをリサイズした時にペインの比率が崩れてしまい、これが非常にストレスだった。
今回,tmux hooksなるもので解決できたのでまとめてみた。
方法
すでに分割したことのある人は以下を ~/.tmux.conf
に以下を追加するだけでOK!
set-hook -g client-resized 'select-layout tiled'
以上。
tiledでは均等になるように自動配置されるが水平に均等分割、垂直に均等分割することもできる。(一部を抜粋)
select-layout even-horizontal // 水平均等分割
select-layout even-vertical // 垂直均等分割
トリガーにも他にも以下のようなものがある。(一部を抜粋)
pane-died : paneで実行中のプログラムが終了した時。
pane-exited :paneをexitした時。
session-created :sessionを作った時。
session-closed :sessionを閉じた時。
詳しくは以下をどうぞ
tmux hooks 公式
分割方法、分割したペインでのコマンド実行方法から知りたい人向け
Pane4分割の方法
tmux new -t hoge\; \
split-window -h \; \
select-pane -t 0\; \
split-window -v \; \
select-pane -t 2\; \
split-window -v \; \
tmux コマンドを複数繋げるときは ; で繋げる。ターミナルではエスケープさせる必要があるため\;
にする
Pane 4分割 & それぞれのPaneで指定したコマンドを実行
tmux new -t hoge\; \
split-window -h \; \
select-pane -t 0\; \
split-window -v \; \
select-pane -t 2\; \
split-window -v \; \
send-keys -t 0 "echo hoge0" C-m\; \
send-keys -t 1 "echo hoge1" C-m\; \
send-keys -t 2 "echo hoge2" C-m\; \
send-keys -t 3 "echo hoge3" C-m\;