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

Tij*_*sdv 11 vim pane switching tmux

我注意到esc也会开始收听切换窗格的说明.我是Tmux的新手,我今天早些时候复制了一个Tmux conf文件,它应该只启用alt来切换窗格,所以我不确定这个conf文件是否启用它或者它是否是Tmux 2.3中的标准.

看到我在进入正常模式后开始四处走动,这让我感到很难过.谁能告诉我如何使用esc禁用窗格切换?

ipe*_*rik 14

找到了这个,这解决了我的问题:https://unix.stackexchange.com/questions/23138/esc-key-causes-a-small-delay-in-terminal-due-to-its-alt-behavior

添加到您的~/.tmux.conf:

set -s escape-time 0
Run Code Online (Sandbox Code Playgroud)

  • 这让我疯狂了好几个星期,但我无法意识到是什么触发了。回到理智。 (2认同)

小智 3

我认为您的 ~/.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
Run Code Online (Sandbox Code Playgroud)

这些行将 Alt-h(j,k,l) 绑定到切换窗格,而不需要前缀键。但似乎 ESC+h(j,k,l) 也会触发 Alt-h(j,k,l)。我也不知道为什么。

我的修复方法:

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

    绑定 -n Cj 选择窗格 -D \; 显示面板

    绑定 -n Ck 选择窗格 -U \; 显示面板

    绑定 -n Ch 选择窗格 -L \; 显示面板

    绑定-n Cl选择窗格-R \; 显示面板

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

    新绑定的含义是:使用不带前缀键的 Ctrl-vim 键来切换窗格,同时显示窗格指示器:当前活动窗格索引的颜色将为红色。