web-dev-qa-db-ja.com

tmux(1)の分割ペインを均等にバランスさせるにはどうすればよいですか?

Vim(1)が^w =で分割ウィンドウを処理する方法に似た動作を探しています。 tmux(1)に^b Meta[1-5]を使用して事前定義されたレイアウトがあることを知っていますが、これには現在使用しているレイアウトがない可能性があります。

ウィンドウを分割すると、両方のペインの現在のウィンドウが半分になります。再度分割すると、そのペインは2つに分割されます。垂直分割と水平分割を組み合わせると、それらは互いに半分になり続け、新しい各ペインはますます小さくなります。

作成したばかりの新しいレイアウトをどのように維持できますが、vim(1)が^w =で行うように、すべての垂直方向と水平方向の分割を均等にバランスさせることができますか?

241
Aaron Toponce

垂直

select-layout even-vertical
通常は以下に割り当てられます: Ctrl+b、 Alt+2

水平方向

select-layout even-horizontal
通常は以下に割り当てられます: Ctrl+b、 Alt+1

313
blackd

使用できます ctrl-bspace レイアウトを等間隔で循環させることができますが、必ずしもレイアウトが維持されるわけではありません。

106
Issac Trotts

コマンドラインから使用できます

tmux select-layout tiled

分割をすべてほぼ同じサイズにする。これをキーコマンドにバインドすることもできます。

23
Mnebuerquo

単一のキーショートカットは知りませんが、これが役立つ場合があります。

レイアウトを行うスクリプトを記述して、スクリプトにキーをバインドすることができます。これを行うには、tmuxcommand pipe-pane [-o] [-t target-pane] [Shell-command]を使用して現在のレイアウトをスクリプトに書き込みます。次に、tmuxcommand select-layoutを使用して、スクリプトによって準備されたレイアウトを読み取る必要があります。

7

私は4つの等しい象限に分割する魔法の呪文を見つけるのに苦労していました。

# Split session into FOUR EQUAL quadrants
tmux selectp -t 0    # select the first (0) pane
tmux splitw -h -p 50 # split it into two halves
tmux selectp -t 0    # select the first (0) pane
tmux splitw -v -p 50 # split it into two halves

tmux selectp -t 2    # select the new, second (2) pane
tmux splitw -v -p 50 # split it into two halves
tmux selectp -t 0    # go back to the first pane
2
Daevid Vincent

ctrl bそして:resize-pane -Mそしてマウスを使用してください! (mouse-modeを有効にする必要があります)

1
sarink