在分离模式下创建时 Tmux 面板乱序

Tmux panes out of order when creating in detached mode

像这样在分离模式下创建窗格时

tmux new-session -d -s sessname
tmux splitw -v -p 30 -t sessname:1.0
tmux splitw -h -p 60 -t sessname:1.1
tmux splitw -h -p 30 -t sessname:1.0

窗格乱序,当使用 C-a q(或具有默认前缀的 C-b q 时):

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

不是我想要的顺序,而是

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

我花了很长时间才弄明白为什么,所以我把答案贴在这里。

事实证明,只有在 active 窗格上调用 split-window(别名 splitw)时,tmux 窗格排序才会重置为标准顺序。 Tmux 窗格编号将默认为创建顺序,除非新窗格从当前活动窗格中分离出来,这将导致 所有 tmux 窗格将其编号重置为 "correct" 顺序.

您所要做的就是在您要拆分的窗格上调用 select-pane,就在最后一个 splitw 之前,这样 tmux 就会知道重置窗格编号系统:

tmux new-session -d -s sessname
tmux splitw -v -p 30 -t sessname:1.0
tmux splitw -h -p 60 -t sessname:1.1
tmux select-pane -t sessname:1.0
tmux splitw -h -p 30 -t sessname:1.0

这里是 "correct" 如果你的主要拆分是水平的,订单会是什么样子

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

或者如果您先创建垂直拆分,则 "correct" 顺序将改为

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