如何将tmux中的Ctrl-Tab和Ctrl-Shift-Tab绑定为mintty

时间:2016-02-21 08:15:48

标签: tmux mintty

我想绑定 CTRL + TAB CTRL + SHIFT + TAB (没有前缀)到tmux函数,在minTTY / cygwin下。

我尝试了以下tmux配置:

set-option -gw xterm-keys on
bind-key -n C-Tab next-window
bind-key -n "^[[1;5I" next-window # tmux doesn't recognize
bind-key -n "\e[1;5I" next-window # tmux doesn't recognize

如果我在启动tmux后按 CTRL + TAB ,我会收到铃声。如果我在tmux前缀之后点击它,它会打印1;5I

我在cygwin / Babun下使用minTTY 2.2.3。我已通过其选项(SwitchShortcuts=no中的.minttyrc)禁用了minTTY对此键组合的处理。

作为参考, CTRL + TAB CTRL + SHIFT + TAB 使用以下.screenrc:

来循环screen窗口
bindkey "^[[1;5I" next
bindkey "^[[1;6I" prev

1 个答案:

答案 0 :(得分:2)

我来到这里是因为我碰到了同样的问题。

tmux现在支持通过user-keys自定义键绑定 - 自2017年8月起,所以如果您可以自己构建tmux,或者一旦发布了新的tmux版本,就可以这样:

set -s user-keys[0] "\e[1;5I"
set -s user-keys[1] "\e[1;6I"
bind-key -n User0 select-pane -t+
bind-key -n User1 select-pane -t-

请注意,您必须使用双引号而不是单引号,否则它将无法正确解释\e

在编写本手册中的示例时,使用单引号 - https://github.com/tmux/tmux/issues/1043,尽管很快就会修复。