#TL;DR
・swap-paneは-Uと-Dがあるが左右の入れかえはできない
・彼ら厳密には上下入れ替えでもないのでちょっと使いにくい
・select-paneを組み合わせるか、-s scr-paneを使おう
#はじめに
select-paneと同じようにしてペインをいれかえたい
man pageによるとswap-paneを使えば良いらしいが
swap-pane [-dDUZ] [-s src-pane] [-t dst-pane]
Swap two panes. If -U is used and no source pane is specified with -s, dst-pane is swapped with the previous pane (before it numerically); -D swaps with the next pane (after it numerically).
-U, -Dはペインの並びではなく"数値上の"上下を交換する
つまり左右に分割している時は左右交換になるわけです
これはいただけない
方法は二通り
#ペイン移動
単にアクティブペインを切り変えるだけならこう
bind h selectp -L
bind j selectp -D
bind k selectp -U
bind l selectp -R
selectpはselect-paneのエイリアス
コマンド | 挙動 |
---|---|
prefix + h | 左のペインへ移動 |
prefix + j | 下のペインへ移動 |
prefix + k | 上のペインへ移動 |
prefix + l | 右のペインへ移動 |
#方法1. select-paneと組み合わせる
select-pane
で移動してからswap-pane -s '!'
でいれかえればよい
bind H selectp -L \; swapp -s '!'
bind J selectp -L \; swapp -s '!'
bind K selectp -L \; swapp -s '!'
bind L selectp -L \; swapp -s '!'
swappはswap-paneのエイリアス
コマンド | 挙動 |
---|---|
prefix + H | 左のペインと入れかえ |
prefix + J | 下のペインと入れかえ |
prefix + K | 上のペインと入れかえ |
prefix + L | 右のペインと入れかえ |
一応機能するが上下分割のみ、左右分割のみの時にちょっと変 |
#方法2. -s scr-paneを使う
個人的にはこちらがおすすめ
bind H swapp -s '{right-of}'
bind J swapp -s '{down-of}'
bind K swapp -s '{up-of}'
bind L swapp -s '{right-of}'