You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何关闭tmux中前缀键与连续上方向键之间的延迟行为

如何关闭tmux中前缀键与连续上方向键之间的延迟行为

这个问题我之前也碰到过!本质是tmux默认有个escape-time(逃逸时间)设置,它会在你按下前缀键(比如Ctrl+b)后等待一小段时间,判断你是不是要输入一个多组合的快捷键。当你快速连续按两次Up的时候,tmux会把这两次Up都当成是切换 pane 的指令,所以才会出现切上去又切回来的情况。

解决方法有两种,你可以选适合自己的:

方法一:缩短/关闭前缀后的等待时间

直接修改tmux的escape-time参数,把它设为0,这样tmux按下前缀键后会立刻响应后续的单键操作,不会再等待。

  1. 打开你的tmux配置文件(一般是~/.tmux.conf,如果没有就新建一个)
  2. 添加这一行:
    set -g escape-time 0
    
  3. 重新加载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

火山引擎 最新活动