调整大小面板不适用于Mac上的tmux吗?


33

搜索完后,我想出了ctrl + b(PREFIX),然后ctrl +箭头应调整当前窗格的大小。但这是行不通的。我有什么想念的吗?

谢谢。


仅供参考,我确实使用PREFIX调整了宽度:resize-pane,但是仍然想知道为什么上面的命令不起作用。
Biswanath

Answers:


42

按住Control并按下箭头键,您的终端可能未发送(不同的)序列。

尝试运行cat并在其中键入密钥(使用Control-C退出)。您可能会发现(例如)UpControl- Up都生成相同的序列。

OS X 终端应用程序

在其默认配置中,无论您键入还是- ,OS X Terminal应用程序都会发送序列^[[A(或^[OA)(以及和的任何组合)。UpControlUpShiftOption

但是,您可以重新配置终端以发送适当的代码。这有点乏味,但通常只需要执行一次。

  1. 终端 > 首选项...
  2. 设置顶层标签
  3. 选择您要修改的配置文件
  4. 键盘标签
  5. 单击加号按钮以添加新的绑定

    • 选择一个光标键
    • 将修饰符设置为 control
    • 使用Send Text:动作
    • 类型Escape(将显示为\033),后跟[1;5一个字符:
      • A对于Up
      • B对于Down
      • CRight
      • D 对于 Left
    • 单击确定以添加绑定

例如,对于最后的序列Control- Up应该结束了看起来像\033[1;5A

这些序列是XTerm生成的序列(有关详细信息,请参见ctlseqs文档)。

对其他箭头键重复最后一步。

iTerm 2

默认情况下,iTerm 2发送期望的序列。


实际上,Ctrl + {箭头键}已映射为切换应用程序。他们没有发送序列。
Biswanath

19
我在普通的Mavericks机器(2013年底的MBP视网膜)上尝试了此操作,但在不停用“系统偏好设置”->“键盘”->“快捷键”->“任务控制”中的所有Ctrl + Arrow键快捷方式的情况下,该功能无法正常工作。+1了解使用cat键盘事件的提示
Alex Leach

正常工作,直到我开始tmux。在启动tmux之前,我得到了^ [[1; 5A ^ [[1; 5B],但是tmux中的^ [OA ^ [OB。
nakhli 2015年

1
@ Sinbadsoft.com:听起来您尚未xterm-keys启用该tmux窗口;你可能想set -gw xterm-keys on
克里斯·约翰森

最适合我(el capitan)。
ling 2016年

10

至少在Mavericks和iTerm2上,您必须按住Control,然后按b(而不是按住),然后按住方向按钮。这发送与按下几乎相同的序列Control- b使用方向按钮,因此可以正常工作。

另外,请确保转到键盘设置,并在“快捷方式”选项卡中禁用任何任务控制,以及您可能拥有的此类键盘快捷键Control以及方向键。


7
谢谢!更改键盘快捷键中的任务控制/应用程序Windows绑定对我来说有所不同
sixty4bit 2015年

7

您可以在ctrl-↑和ctrl-↓组合中使用meta键而不是control键。在OSX Terminal中,默认的元键是转义键。例如,要增加窗格的大小,请键入ctrl-b esc-↑。

我发现转义键很麻烦,因此我将选项键用作元键。在Terminal.app中,您可以通过以下方法更改它:终端>首选项>配置文件>键盘:选中“将选项用作元密钥”。

现在,您可以输入ctrl-b选项-↑来增大大小,或者输入ctrl-b选项-↓来减小大小,而不必重新映射任务控制键。


使用Escape只是解决方案,因为默认情况下,在我的MacOS上按住Ctr + Arrow会切换到另一个桌面。
klimat
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.