如何在 tmux 中将窗格推到左侧?

如何在 tmux 中将窗格推到左侧?

假设我有三个垂直堆叠的水平窗格,并且我想将其中一个推到最左边,这样另外两个窗格仍然堆叠在右侧。

当前设置:

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

尝试多次,直到达到理想的安排。

相关内容