如何关闭tmux中前缀键与连续上方向键之间的延迟行为
如何关闭tmux中前缀键与连续上方向键之间的延迟行为
这个问题我之前也碰到过!本质是tmux默认有个escape-time(逃逸时间)设置,它会在你按下前缀键(比如Ctrl+b)后等待一小段时间,判断你是不是要输入一个多组合的快捷键。当你快速连续按两次Up的时候,tmux会把这两次Up都当成是切换 pane 的指令,所以才会出现切上去又切回来的情况。
解决方法有两种,你可以选适合自己的:
方法一:缩短/关闭前缀后的等待时间
直接修改tmux的escape-time参数,把它设为0,这样tmux按下前缀键后会立刻响应后续的单键操作,不会再等待。
- 打开你的tmux配置文件(一般是
~/.tmux.conf,如果没有就新建一个) - 添加这一行:
set -g escape-time 0 - 重新加载tmux配置:按下
Ctrl+b,然后输入:source ~/.tmux.conf回车,或者在终端里直接执行tmux source ~/.tmux.conf
之后再试Ctrl+b+Up+Up,应该就能顺利切换到上方 pane,并且第二个Up会触发bash的历史命令了。
方法二:修改 pane 切换的快捷键(避免冲突)
如果你担心设置escape-time 0可能影响其他多键快捷键的使用,也可以把切换到上方 pane 的快捷键改成和方向键不冲突的按键,比如vim风格的k:
在~/.tmux.conf里添加:
bind-key k select-pane -U
重新加载配置后,按下Ctrl+b+k就能切换到上方 pane,之后按Up键就直接是bash的历史操作,完全不会有延迟冲突的问题。
备注:内容来源于stack exchange,提问作者folow




