Как установить горячую клавишу tmux как Ctrl-, то есть Ctrl + запятую

У меня есть некоторые проблемы при настройке моей предпочтительной горячей клавиши tmux на Mac OS X.

Наиболее распространенными горячими клавишами, вызывающими магию tmux, являются CTRL + A и CTRL + B. Но я предпочел бы выбрать другие нажатия клавиш по следующим причинам: C-a - глобальная горячая клавиша для "перехода к началу строки"; C - B предназначен для "перемещения назад по линии" и "Page UP in Vim". Я не хочу нарушать эти хорошие правила в tmux.

Итак, я пытаюсь установить некоторые не очень часто используемые нажатия клавиш для горячей клавиши tmux. Я выбираю CTRL - ,, CTRL - ., или CTRL - ;

Я пишу этот оператор в файле .tmux.conf:

set-option -g prefix C-,

Я запускаю tmux. О, это говорит "плохой ключ". Я заменяю C-, C-. или C-;. Это тоже не работает.

Итак, как установить горячую клавишу tmux в CTRL - ,?

Ответ 1

Пришлось копаться в исходном коде для этого. Управляющий ключ может применяться только к буквам, @, пробелу и? (и [email protected]кажется эквивалентным C-пространству). Извините, не похоже на C-, возможно, по крайней мере, в tmux-1.6.

Ответ 2

Никакая запятая, период или точка с запятой не являются стандартными управляющими символами. Возможно, ваш эмулятор терминала просто отправляет простой символ или вообще ничего, когда вы вводите их; вы можете ввести их в cat -v, чтобы увидеть, что он отправляет.

См. Википедии "Символы управления ASCII" и "Как управляющие символы сопоставляются с клавиатурами.

Если вы можете перенастроить эмулятор терминала для отправки другого символа/последовательности, вы сможете использовать его в tmux (например, если эмулятор терминала отправляет тот же символ, что и C-\ (hex 1C), и установите префикс к этому).

Ответ 3

Использование терминала xterm

1) поместите их в свой ~/.Xresources, чтобы генерировать escape-последовательность F13, когда нажаты CTRL - ,, 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, чтобы загрузить эти conf.

2) измените префикс в файле ~/.tmux.conf

set -g prefix F13

3) fire xterm и tmux

$ tmux