在 tmux 中调整屏幕拆分窗格大小

Pra*_*ant 74 tmux macos

我想调整窗格大小,以便我可以扩展/压缩窗格大小(上/下/左/右等)..

有什么办法可以做到这一点?

TOO*_*GAM 87

假设你的前缀键仍然是默认值CtrlB
要缩小,使用:CtrlB:resize-p -D 2
要调整大小,请使用:CtrlB:resize-p -U 2
要向左调整大小,请使用:CtrlB:resize-p -L 2
要调整大小对,使用:CtrlB:resize-p -R 2

因此,这意味着首先按住Ctrl,然后按下并松开B,然后松开 B,然后键入一个冒号(:通常通过按住Shift并按下分号来键入;),然后键入单词 resize 和其余的。这些水平线是常见的连字符/破折号/减号。在行尾,发出“换行符”(按下EnterReturn取决于键盘上的内容)。

末尾的数字是可选的,默认为 1。 -U 也是默认值,不需要。

如果你忘记了,^B ? 将在键的末尾(使用默认键绑定)显示这些找到的 C-Up 和 C-Down 以及 C-Left 和 C-Right。

您也可以尝试按 Ctrl+B,然后按 Ctrl+箭头键。
但是,请注意 Ctrl 箭头键在某些终端上可能会出现问题。因此,您可以尝试解决终端限制,或者创建新的快捷键绑定,或者只是不使用快捷键并使用上面显示的更长的命令。

更新:我当然很欣赏这个问题。它在最初发布数年后继续获得好评。

我上面提供的信息应该适用于各种情况。例如,它在使用 SSH 控制使用内置 tmux 的 OpenBSD 的远程机器时工作。

有些人发现还有一些其他技术对他们很有效,这些技术可能使用更少的击键。尤其是 tmux 似乎已经内置在 Mac 上,人们在按住一个或多个键方面取得了一些成功。此类技术不太可能在各种场景中发挥作用(例如使用不同类型的计算机/操作系统,以及可能的远程终端时),但在某些环境中,替代方法可能比现有方法更快这些说明中描述的。

这个答案在下面产生了一些评论,描述了一些对其他人有用的替代方法。如果您只想使用可靠的方法完成工作,我建议您按照此答案顶部附近的说明进行操作。如果您想进一步阅读以了解可能更快的方法,请务必花时间查看此答案下的评论,因为那里的信息显然对人们也很有效。

  • 在我的 macbook 上,默认情况下我可以使用 `Ctrl+B`,然后使用 `Esc +(箭头键)`。 (65认同)
  • @AdiyatMubarak 如果您快速连续按“Esc +(箭头)”,您将不必再次使用“Ctrl+B”。同意这不是很舒服,但它有效。 (7认同)
  • @JamesM.Lay 哦,它也可以,但是如果我想添加 2 个或更多尺寸怎么办?因为 `esc + (arrow)` 只能工作一次,之后我必须使用 `Ctrl+B` 然后再次重新应用 `esc + (arrow)`。 (6认同)
  • @JamesM.Lay 或者`Ctrl+B` 和`M-(箭头)` 对我有用。通常`alt`和`Esc`都发送`Meta` (3认同)
  • `Ctrl+B` 然后在按下箭头键时按住 `option`,但需要很多次对我有用。 (3认同)

小智 60

调整窗格大小的一种选择是使用鼠标。为此,请将这些行添加到您的.tmux.conf

set -g mode-mouse on
set -g mouse-resize-pane on
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Mac 并且上述方法不起作用,请改用它(来源):

set-option -g mouse on
Run Code Online (Sandbox Code Playgroud)

启用此模式后,只需单击并拖动窗格分隔符即可调整它们的大小。

  • `set -g mouse on` `#for newer versions` (15认同)

小智 28

假设您的前缀键是 Ctrl-B(Mac 上的 Cmd-B):

  1. 按 Ctrl-B 并释放
  2. 按住 Meta(Mac 上的选项)
  3. 在按住 Meta 的同时反复按箭头键来调整当前窗格的大小

然而,似乎有一些超时,因此如果您在 1 或 2 秒内按住 Meta 的同时不按箭头键,则 Meta-{arrow} 将被视为当前提示中的输入。


Pra*_*ant 22

我刚刚在我的 tmux.conf 文件中添加了以下几行

bind j resize-pane -D 10
bind k resize-pane -U 10
bind l resize-pane -L 10
bind h resize-pane -R 10
Run Code Online (Sandbox Code Playgroud)

现在我可以使用 Ctrl-a(我的前缀键)和 [h|j|k|l] 来调整窗格的大小

  • @subhojit777 ..您应该仍然可以使用 [h|j|k|l] 键。请记住,要调整 tmux 窗格的大小,您仍然必须在按下这些键之前添加前缀键(默认情况下为 Ctrl-b .. ctral-a 是我的覆盖)。另外,您始终可以选择将绑定更改为您想要的任何内容..重点是让人们知道将其保存在 tmux.conf 文件中 (2认同)

小智 15

我刚刚发现了另一种方式。显然tmux有两种不同类型的按键(假设您的前缀键仍然是Ctrlb

  1. Ctrlb,抬起手指,然后按其中一个arrow键。这会切换焦点。
  2. Ctrlb,不要抬起手指,然后arrow同时按其中一个键。这会调整窗格的大小,我想比任何其他方法都快。

以类似的方式,Ctrlbo也有不同的行为。第一种按键切换焦点,第二种按键切换窗格。