使tmux前缀绑定始终充当前缀,并且仅使用前缀(幂等绑定)?

时间:2018-07-04 23:01:19

标签: tmux

我已经遍历了subreddit和SO标签,以及几个页面的多个Google搜索的措词,但找不到任何可解决此问题的线程/主题/页面,所以去了:< / p>

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

  通过使用前缀键(默认情况下为“ C-b”(Ctrl-b))和命令键的组合键,可以从附加的客户端控制

tmux。   默认的命令键绑定为:

     

C-b

     

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

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

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

  • C-b,C-b,C-Up 导致将Ctrl + Up发送到我的终端窗口。

我想这样做,无论按下前缀多少次,下一个按下的按键始终被解释为命令(即,上面的两个按键序列给出相同的结果)。

谢谢!


如果您想知道为什么要这样做,可以说这与非常复杂的tmux.conf文件和很多(但不是全部)我的键绑定中的重复标记有关。我已经习惯了必须立即在无法重复的绑定之前按下前缀,以至于即使我刚刚使用了一个可重复的命令,也总是点击它。这看起来像是“第二次”按下tmux前缀,这使得将我的命令键发送到终端。我知道这是一种边缘情况,但是如果可以关闭此行为,那将为我节省大量的误击击键!

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

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