【问题标题】:How to bind Ctrl-Tab and Ctrl-Shift-Tab in tmux for mintty如何在 tmux 中为 mintty 绑定 Ctrl-Tab 和 Ctrl-Shift-Tab
【发布时间】:2016-02-21 08:15:47
【问题描述】:

我想绑定 CTRL+TABCTRL+SHIFT+TAB kbd>(不带前缀)到 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。我已禁用 minTTY 通过其选项(.minttyrc 中的SwitchShortcuts=no)处理此组合键。

供参考,CTRL+TABCTRL+SHIFT+TAB使用以下 .screenrc 循环 screen windows:

bindkey "^[[1;5I" next
bindkey "^[[1;6I" prev

【问题讨论】:

    标签: tmux mintty


    【解决方案1】:

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

    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,尽管它可能很快就会修复。

    【讨论】:

    • 这现在适用于当前版本的 tmux (2.6),因此您不再需要自己构建它。我必须先挖掘一下才能让 iTerm2 发送代码,但我想这超出了这个问题的范围。
    猜你喜欢
    • 2013-03-06
    • 2010-10-23
    • 2011-01-19
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2010-09-06
    相关资源
    最近更新 更多