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


53

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

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

Answers:


68

假设您的前缀键仍然是Ctrl-B的默认值Ctrl-B
^ B:resize-p -D 2
^ B:resize-p -U 2
^ B:resize-p -L 2
^ B:resize-p -R 2
数字最后是可选的,默认为1。-U也是默认值,并且不必要。

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

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


43
我的MacBook,在默认情况下,我可以使用Ctrl+B,然后Esc + (arrow key)
James M. Lay

3
@ JamesM.Lay哦,它也可以工作,但是如果我想增加2个或更多大小怎么办?因为esc + (arrow)只工作一次,在那之后我必须先使用Ctrl+B然后再重新申请esc + (arrow)
阿迪亚特·穆巴拉克

5
@AdiyatMubarak Ctrl+B如果Esc + (arrow)快速连续按下,则无需再次使用。同意这不是很舒服,但是可以。
th3an0maly

2
@ JamesM.Lay或者Ctrl+BM-(arrow)我的作品。通常altEsc双方都发送Meta
oLas '17

Ctrl+B然后在option按住箭头键的同时按住不放,但对于我来说,需要多次操作。
Chen

40

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

set -g mode-mouse on
set -g mouse-resize-pane on

如果您使用的是Mac,但以上操作均无效,请改用此代码):

set-option -g mouse on

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


3
set -g mouse on #for newer versions
Loves Probability

我的生活刚刚改变!这适用于WSL(适用于Linux的Windows子系统)上的Ubuntu实例...哦,但是现在我不能再用鼠标右键粘贴了。Window上的Linux仍然很笨拙。
flickerfly

21

我刚刚在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

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


1
现在我不能使用h | j | k | l键
subhojit777 '16

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

你应该换lh有六个绑定。
Hendrik

11

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

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

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


这对我来说是最容易记住的,但有时会花费太长时间。是否可以更改每个箭头按键增加面板大小的数量?
connorbode

7

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

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

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


找到“开箱即用”的示例,做得很好。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.