在Tmux中绑定退出键

Lan*_*fee 7 tmux

由于我将我的Caps-lock键映射到Esc(由于Vim),我也喜欢它在tmux中.

具体来说,我正在尝试将Esc+ 设置a为前缀:

set -g prefix Escape-a
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我得到错误bad key: Escape-a.这是因为Esc不是修饰键吗?我真的很喜欢这个,就像Esc在主排上一样,使用非常方便.

dat*_*urf 12

这个顺序:

set-option -g prefix Escape
unbind-key C-b
bind-key Escape send-prefix
Run Code Online (Sandbox Code Playgroud)

......对我有用.我正在使用tmux-2.0

  • 旧问题的新答案会被纳入特殊审查流程,从而接受特殊审查。新用户的帖子也是如此。这些都是保持内容质量和帮助教育新用户的机会。审查帖子的一项准则是,审查者应“删除不必要的介绍和关闭”。问题的年龄与您的答案无关,所以它消失了。其余部分旨在使其易于阅读 - 这是主观的,如果您愿意,您可以自由地改写它。 (2认同)

iva*_*van 9

如果您使用OS X,则可以使用karabiner实现此目的.

在系统首选项中,更改Caps-lockControl而不是Esc.然后Esc在您Control自行键入时使用karabiner发送.

  • karabiner首选项 - >"更改密钥"选项卡
  • 向下滚动到"更改Control_L键(左控制)"
  • 检查"Control_L to Control_L(+当您仅键入Control_L时,发送Escape)"

karabiner偏好

这使您的左小指容易访问Esc Control.你可以按原样退出Vim的插入模式,你可以设置Control+ a作为你的tmux前缀:

set -g prefix C-a
Run Code Online (Sandbox Code Playgroud)


小智 6

我认为这是不可能的,因为Esca是2个不同的键.据我所知,tmux不允许使用超过1个键的密钥绑定(对于任何事情).

这与例如Ctrl-a作为前缀不同.即使我们键入2个键盘键来获取它 - ^A由tmux和vim表示为单个字符.