如何向跨越父窗口整个宽度的 tmux 窗口添加水平拆分?

jot*_*ttr 46 tmux

当我有一个 tmux 窗口垂直分成两个窗格时,如何生成一个新的第三个水平窗格,该窗格在整个宽度上延伸?

例如,我如何从中获得:

Ctr-b %

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+
Run Code Online (Sandbox Code Playgroud)

到这个?

Ctr-b %
Ctr-b ...怎么办?

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
+–––––––––––––––––––+
Run Code Online (Sandbox Code Playgroud)

而不是这个?

Ctr-b %
Ctr-b "

+––––––––+––––––––––+
|        |          |
|        |          |  
|        |          |
|        |          |
|        |          |
|        +––––––––––+
|        |          |  
|        |          |
+––––––––+––––––––––+
Run Code Online (Sandbox Code Playgroud)

注意:我不想遍历所有可能的布局组合Ctr-b Space以最终获得所需的布局 - 应该尽可能简洁地实现。

jas*_*yan 25

您可以使用五种预设布局模式(平铺)中的一种来实现这一点。从您的起点(单个垂直拆分),打开一个新窗格,默认情况下将拆分活动窗格,然后将窗格排列为平铺模式:

Ctrlb,Alt5

来自man tmux

M-1 到 M-5 以五种预设布局之一排列窗格:均匀水平、均匀垂直、主水平、主垂直或平铺。

如果这是您经常想要的布局,您可以选择将 a 添加select-layout tiled到您的键绑定中.tmux.conf

  • 当我知道 tmux 在使用多年后有预设时我哭了。 (2认同)
  • Mac 中是“Ctrl b”“Esc 5” (2认同)

小智 21

获取更新版本的 tmux(至少 2.3)。

从手册页:

-f选项会创建一个跨越整个窗口高度(带-h)或整个窗口宽度(带-v)的新窗格,而不是拆分活动窗格。

  • 很好的答案,但一两个例子最能说明问题 (2认同)

Thi*_*ter 20

tmux 2.3 支持-f开关,split-window它可以完全满足您的要求(在此处查看 man ):

-f 选项创建一个跨越整个窗口高度(使用 -h)或整个窗口宽度(使用 -v)的新窗格,而不是拆分活动窗格。

例如,在您的情况下:

1) ctrl-b %

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
|         |         |
|         |         |
|         |         |
|         |         |
+–––––––––––––––––––+
Run Code Online (Sandbox Code Playgroud)

2) ctrl-b :splitw -fv

请注意,在 之后ctrl-b :,您将输入 tmux 命令提示符(查看底部栏)。

+–––––––––+–––––––––+
|         |         |
|         |         |
|         |         |  
|         |         |
+–––––––––+–––––––––+
|                   |
|                   |
|                   |
+–––––––––––––––––––+
Run Code Online (Sandbox Code Playgroud)

  • 这应该被接受的答案 (4认同)

小智 5

如果您想生成一个新的第三个水平窗格来延伸整个宽度,我建议您尝试这个

Ctrl-b "

或循环遍历

Ctrl-b 空格