12

在 Mac OS X 上设置我喜欢的 tmux 热键时遇到了一些麻烦。

调用 tmux 魔法的最常见热键是CTRL+ACTRL+ B。但我宁愿选择其他按键,原因如下: Ca 是“跳到行首”的全局热键;C-b用于“向后移动一行”和“在 Vim 中向上翻页”。我不想在 tmux 中破坏这些好的规则。

因此,我尝试为 tmux 热键设置一些不常用的击键。我选择的是CTRL- ,, CTRL- ., 或CTRL-;

我在我的 .tmux.conf 文件中写下这个语句:

set-option -g prefix C-,

我开始 tmux。哦,它说“坏钥匙”。我用 C- 替换 C-。或 C-;。它也不起作用。

那么,如何将 tmux 热键设置为CTRL- ,

4

3 回答 3

14

不得不深入研究这个源代码。控制键只能应用于字母、@、空格和?(并且 C-@ 似乎等同于 C 空间)。抱歉,看起来不像 C-,至少在 tmux-1.6 中是可能的。

于 2012-03-29T13:12:32.467 回答
8

逗号、句点或分号都不是标准控制字符。您的终端仿真器可能只发送纯字符,或者在您键入它们时根本不发送;您可以将它们输入cat -v以查看它发送的内容。

请参阅维基百科的“<a href="http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters">ASCII 控制字符”和“<a href="http://en.wikipedia.org/wiki/Control_character# How_control_characters_map_to_keyboards">控制字符如何映射到键盘”。

如果您可以重新配置终端仿真器以发送其他字符/序列,您应该能够在tmux中使用它(例如,让您的终端仿真器发送与 (hex 1C) 相同的字符C-\,并将前缀设置为该字符)。

于 2012-03-30T11:11:25.260 回答
4

使用 xterm 终端

1)把这些放在你的当- ,-或-被按下时~/.Xresources生成转义序列F13CTRL,CTRL.CTRL;

XTerm.VT100.translations: #override \                                                                                                   
    Ctrl<Key>period:    string(0x1b) string("[1;2P") \n\                                                                                
    Ctrl<Key>comma:    string(0x1b) string("[1;2P") \n\                                                                                 
    Ctrl<Key>semicolon:    string(0x1b) string("[1;2P")

运行xrdb ~/.Xresources以加载这些配置文件。

2) 更改您的 ~/.tmux.conf 中的前缀

set -g prefix F13

3) 触发 xterm 和 tmux

$ tmux
于 2014-11-04T17:54:47.960 回答