在分离模式下创建时 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 |
像这样在分离模式下创建窗格时
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 |