如何在tmux中覆盖<前缀>-)的下一会话绑定?绑定M-]无效排查
解决tmux无前缀切换下一会话的绑定问题
你的思路其实走了弯路——没必要模拟「前缀+按键」的操作,因为tmux本身就有直接切换下一会话的命令,不用绕弯子。
为什么之前的配置无效?
你写的bind -n M-] send-prefix \; send-keys )逻辑有问题:
send-prefix确实会发送前缀键,但tmux收到前缀后会进入「等待后续命令」的状态;- 而紧接着的
send-keys )是把)字符发送给当前终端窗格,不是发给tmux的前缀命令处理流程。所以最终只会在命令行里打出),完全没触发会话切换。
正确的配置方式
直接绑定到tmux内置的「下一会话」命令就行,有两种等价写法:
# 写法1:用next-session命令(更直观) bind -n M-] next-session # 写法2:用switch-client的-n参数(next的缩写) bind -n M-] switch-client -n
这两个命令和你原来的<前缀>-)绑定的功能完全一致,默认就是循环切换会话(到最后一个后回到第一个)。
生效方法
配置完后,要么重启tmux,要么在tmux会话里按<前缀>:打开命令提示符,输入source ~/.tmux.conf(如果你的配置文件在其他路径就改对应路径)重载配置,之后按M-](Alt+])就能直接切换下一会话了。
内容的提问来源于stack exchange,提问作者jameh
相关产品推荐
相关产品推荐

