如何在Tmux中使用ESC键禁用窗格切换

18

我注意到按下 Esc 键也会开始监听切换窗格的指令。我是 Tmux 的新手,今天早些时候复制了一个 Tmux 配置文件,它应该只启用 alt 键来切换窗格,所以我不确定这个配置文件是否启用了此功能,或者它是否是 Tmux 2.3 的标准功能。

由于我习惯在进入正常模式后开始移动,这让我非常烦恼。请问有人能告诉我如何禁用使用 Esc 键切换窗格吗?


你可以发布tmux配置文件的相关部分吗? - Alexander Kohler
3个回答

27

4
这让我疯狂数周,但我意识不到是什么触发了这种情况。现在恢复了理智。 - pedrosaurio
1
我的vim突然随机切换面板,我以为是由于网络连接问题,所以我更改了更靠近我的位置的主机,但它并没有起作用,直到我谷歌搜索并找到了这个解决方法。 - ospider
这对我不起作用。ESC键仍然切换窗格。 - saidaspen
作为vim用户,我已经将Caps Lock键重新映射为第二个Escape键...这让我很疯狂。我试图回到vim(或bash)的正常模式,但最终却莫名其妙地切换了tmux面板...尽管我使用了unbind-key -a来删除所有(其他)tmux键绑定。这似乎已经解决了问题! - Dolph

3
我认为你的~/.tmux.conf文件包含如下所示的行:

我认为你的~/.tmux.conf文件包含如下所示的行:

bind -n M-h select-pane -L
bind -n M-j select-pane -D 
bind -n M-k select-pane -U
bind -n M-l select-pane -R

以下这几行代码将Alt-h(j,k,l)绑定到无需前缀键的切换面板功能。

但似乎ESC+h(j,k,l)也会触发Alt-h(j,k,l),我也不知道为什么。

我的解决方法:

  1. 确保您已关闭tmux会话(使用“前缀+&+y”杀死所有窗口)
  2. 在 .tmux.conf 中将上述按键绑定更改为以下新按键绑定:

    bind -n C-j select-pane -D \; display-panes

    bind -n C-k select-pane -U \; display-panes

    bind -n C-h select-pane -L \; display-panes

    bind -n C-l select-pane -R \; display-panes

  3. 重新启动tmux。这将删除您以前的M-(h,j,k,l)绑定,并使新绑定生效。

    新绑定的含义是:使用Ctrl-vim键无需前缀键来切换面板,同时显示面板指示符:当前活动面板索引的颜色将为红色。


由于某种原因,您列出的绑定禁用了命令行选项卡自动完成。现在,Tab键显示面板编号。 - jcope

0

如果你运行

tmux list-keys

你可能在你的列表中看到

bind-key    -T root         M-h               previous-window
bind-key    -T root         M-l               next-window

正在运行

unbind-key -T root M-h
unbind-key -T root M-l

可以解除它们的绑定。在Tmux 2.5 OSX上工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接