【问题标题】:Make tmux prefix binding always act as prefix, and prefix only (idempotent binding)?使 tmux 前缀绑定始终充当前缀,并且仅充当前缀(幂等绑定)?
【发布时间】:2018-07-04 23:01:19
【问题描述】:

我已经浏览了 subreddit 和 SO 标签以及谷歌搜索的多个短语的几页,但我找不到任何解决这个问题的线程/主题/页面,所以这里是:

我希望 tmux 中的前缀键始终“激活”tmux 中的前缀。让我解释一下我的意思 - 来自手册页:

tmux 可以通过使用前缀键的组合键从附加的客户端控制,默认情况下是 `C-b' (Ctrl-b),然后是命令键。 默认的命令键绑定是:

C-b

将前缀键 (C-b) 发送到应用程序。

我的 tmux.conf 中没有设置“发送前缀”,以便在按下两次时将前缀组合发送到应用程序,但结果似乎是前缀现在充当“切换”。按一次,下一个键被解释为命令。按两次,下一个键将直接发送到应用程序。例如:

  • C-b, C-Up 导致我的窗格被调整了一个单元格,但是

  • C-b、C-b、C-Up 导致 ctrl + up 被发送到我的终端窗口。

我想让它不管前缀被按下多少次,下一个按下的键总是被解释为一个命令(即上面的两个击键序列给出相同的结果)。

提前致谢!


如果你想知道我为什么想要这个,我只想说它与一个非常复杂的 tmux.conf 文件和我的很多但不是几乎所有的键绑定上的可重复标志有关。我已经习惯了必须在不可重复的绑定之前立即按下前缀,我总是点击它,即使我刚刚使用完可重复的命令。这看起来像是对 tmux 前缀的“第二次”按下,这使得我的命令键发送到终端。边缘情况,我知道,但如果可以关闭此行为,它将为我节省大量错误的击键!

【问题讨论】:

    标签: tmux


    【解决方案1】:

    这应该可以解决问题:

    bind-key C-b switch-client -Tprefix
    

    如果您不将前缀视为特殊键,而仅将其视为root 表中的一个绑定,该表也调用switch-client -T,则更有意义:

    # Equivalent to 'set-option -g prefix C-b'?
    bind-key -Troot C-b switch-client -Tprefix
    

    【讨论】:

    • 已经搞砸了几天了,正是我想要的。谢谢(并接受)!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多