在tmux+Iterm2中绑定Option+H/L切换窗口失败求助
在tmux中绑定Option+H/L切换窗口的解决方案
我尝试在tmux中绑定Option+H和Option+L键实现窗口切换,配置代码如下:
bind-key -n M-h previous-window bind-key -n M-l next-window
推测问题出在iTerm2的按键序列发送方式上,但一直没找到解决办法,附上的iTerm2设置截图显示:Option+H和Option+L被设置为「Send Escape Sequence」,对应的值分别是[104;10u和[108;10u。
解决步骤:
第一步:将Option键设为Meta键
打开iTerm2偏好设置 → 「Profiles」→「Keys」,找到「Left Option (⌥)」,将其设置为「Esc+」(即作为Meta键使用)。这是让tmux识别M-前缀绑定的核心前提。第二步:调整按键映射(若第一步无效则执行)
- 在iTerm2的按键设置列表中,删除现有的Option+H和Option+L条目;
- 点击「+」添加新映射:
- 按下⌥H,Action选择「Send Escape Sequence」,输入框内填写
h(iTerm2会自动在前面添加Esc); - 按下⌥L,同样选择「Send Escape Sequence」,输入框内填写
l;
- 按下⌥H,Action选择「Send Escape Sequence」,输入框内填写
- 保存设置。
第三步:生效tmux配置
修改完tmux配置文件(~/.tmux.conf)后,在tmux会话中执行以下命令让配置生效:
tmux source ~/.tmux.conf
备选方案(直接适配现有iTerm2序列)
如果不想修改iTerm2的Option键设置,可以直接在tmux中绑定截图里的按键序列:
bind-key -n "\e[104;10u" previous-window bind-key -n "\e[108;10u" next-window
保存后重新加载配置即可。
内容的提问来源于stack exchange,提问作者Liubomyr Mykhalchenko
相关产品推荐
相关产品推荐

