TMux:ウィンドウレイアウトを水平/垂直に反転する方法

TMux:ウィンドウレイアウトを水平/垂直に反転する方法

次のレイアウトを使用して、tmuxセッションに3つのウィンドウが開いているとします。

|----|--|--|
| 1  | 2| 3|
|----|--|--|

私がしたいのは、このレイアウトを水平に反転することです。だから:

|--|--|----|
| 3| 2| 1  |
|--|--|----|

これを行う簡単な方法(可能な限り近道)はありますか?

ベストアンサー1

Aはswap-pane -s 0 -t 2ソースウィンドウとターゲットウィンドウを交換し、中央ウィンドウは変更されていません。

list-panesその後、現在のサイズを知らせる呼び出す小さなスクリプトを作成できます。

0: [40x23] [history 2/2000, 760 bytes] %0 (active)
1: [19x23] [history 2/2000, 466 bytes] %3
2: [19x23] [history 2/2000, 466 bytes] %4

次に、resize-pane各ウィンドウに対してコマンドを実行して、x方向の新しいサイズを設定します。例えば/tmp/myscript

#!/bin/bash
tmux swap-pane -s 0 -t 2
tmux list-panes |
awk '
$1~/^[0-9]:$/ { x[$1] = substr($2,2)+0 }
END { print "tmux resize-pane -t 0 -x " x["2:"]
      print "tmux resize-pane -t 1 -x " x["1:"]
      print "tmux resize-pane -t 2 -x " x["0:"] }' |
sh

次にchmod +x /tmp/myscript、バインディングに追加します~/.tmux.conf(例:letterの場合は、o通常のプレフィックスキーの後に入力します)。

bind-key o run-shell /tmp/myscript

おすすめ記事