如何将tmux热键设置为Ctrl-,即Ctrl +逗号

时间:2012-03-29 09:21:38

标签: hotkeys comma tmux ctrl

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

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

所以,我尝试为tmux热键设置一些非经常使用的按键。我选择的是 CTRL - CTRL - ,或 CTRL - ;

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

set-option -g prefix C-,

我开始使用tmux。哦,它说“坏键”。我用C-代替C-。或C-;。它也不起作用。

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

3 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:7)

逗号,句号或分号都不是标准控制字符。您的终端模拟器可能只是发送普通字符,或者在您键入它们时什么都不发送;您可以在cat -v中输入它们以查看它发送的内容。

请参阅维基百科的“ASCII control characters”和“How control characters map to keyboards”。

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

答案 2 :(得分:3)

使用xterm终端

1)当 CTRL - CTRL时,将这些放入~/.Xresources以生成 F13 的转义序列 - 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加载这些conf。

2)在〜/ .tmux.conf

中更改前缀
set -g prefix F13

3)火xterm和tmux

$ tmux