假设我有三个垂直堆叠的水平窗格,并且我想将其中一个推到最左边,这样另外两个窗格仍然堆叠在右侧。
当前设置:
Pane 1
----------
Pane 2
----------
Pane 2
所需设置
Pane 1 | Pane 2
| Pane 3
执行此操作的正确命令是什么?我已经检查了手册页,但找不到此特定功能。
答案1
我遇到过几次这个问题,谷歌完全没用。幸运的是手册页阅读起来并不太难。记录下来可以在我下次忘记时提供快速提醒。
您正在寻找的命令是move-pane
。
您必须运行几次。我已重新索引窗格编号以匹配 tmux 的约定。由于窗格 0 最终与其他两个窗格接壤,因此您应该想象您正在移动窗格 1(0 的右侧),然后移动窗格 2(窗格 1 下方)。
┌──────┐ ┌──────┬──────┐
│Pane 0│ PREFIX + : │Pane 0│Pane 1│
├──────┤ move-pane -h -s 1 -t 0 │ │ │
│Pane 1│ ├──────┴──────┤
├──────┤ │Pane 2 │
│Pane 2│ │ │
└──────┘ └─────────────┘
┌──────┬──────┐
PREFIX + : │Pane 0│Pane 1│
move-pane -v -s 2 -t 1 │ │ │
│ ├──────┤
│ │Pane 2│
│ │ │
└──────┴──────┘
以下是实现相同功能的粗略键绑定。只需确保将焦点放在将首先移动的窗格上即可。
bind-key g command-prompt -p "place below. select target window" "move-pane -h -t %%"
bind-key G command-prompt -p "place right of. select target window" "move-pane -h -t %%"
如果您无法确定窗格编号,请记住编号是按顺序分配的,编号不会与任何特定窗格绑定。使用键绑定在每次移动之前显示窗格编号。默认值为PREFIX + q
。如果您的编号不同,您可以使用PREFIX + ?
来查找它。
答案2
如果我理解你的意思,请尝试:
PREFIX + % # Create a vertical split
PREFIX + " # In right pane create a horizontal split
仅从一个窗格开始。默认情况下 PREFIX = Ctrl + b
,使用PREFIX + q
然后键入窗格编号在窗格之间移动。
编辑:等待一下(我没有考虑到窗格已经存在),尝试一下:
PREFIX + SPACE
尝试多次,直到达到理想的安排。