2013-10-11 3 views
27

На странице man tmux я не нашел ссылки на то, как он называет клавиши.синтаксис синтаксиса tmux

Например, чтобы отправить Ctrl + г к tmux вы могли бы сделать:

tmux send-keys C-r 

и отправить ESČ ключ вы делаете

tmux send-keys Escape 

Есть ли список который отображает ключи клавиатуры, как tmux sendkeys ожидает, что вы их назовете? У меня такое ощущение, что я пропустил заметку о том, что для удобства использования используется синтаксис.

Обратите внимание, что это не связано с привязкой клавиш.

+0

Я привык к тому, что «^ r» является управляющим + r. Откуда этот необычный альтернативный синтаксис? – xxjjnn

ответ

34

Названия ключей, используемые send-keys, - те же самые, что используется bind-key.
Из Key Bindings section в tmux manpage:

При указании ключей, большинство представляют себя (например, «А» в «Z»). Клавиши Ctrl могут иметь префикс «C-» или «^», а Alt (meta) - «M-». Кроме того, следующие специальные ключевые имена принимаются: Up, вниз, Левый, правой, BSpace, BTab, DC (Удалить), End, Введите , Побег, F1 к F20, Главная, IC (Вставка), NPage/PageDown/PgDn, PPage/PageUp/PgUp, Космический, и Вкладка.

Хотя они не перечислены на странице человека, есть также специальные названия клавиш клавиатуры конкретная: KP0 через KP9, KP/, KP*, KP-, KP+, KP. и KPEnter.

Несколько более загадочные имена ключей (BTab, IC, DC, NPage, PPage), вероятно, происходят из Terminfo библиотеки в.

Emacs акций Соглашения об использовании C- и M- префиксов для обозначения модификаторов (я не удивлюсь, если там было ранее использование этой конвенции).

+0

Есть ли способ избежать этих связанных ключей? Скажем, я хочу отправить литеральную строку 'enter' - что делать с send-keys, чтобы отправить именованный ключ« Enter » –

+4

@ItamarKatz: Используйте флаг' -l' («literal»): 'send-keys -l Enter 'отправит пять букв:' E' '' 't' 'e'' r' (* tmux * 1.7+; для предыдущих версий разбить их немного: например, 'send-keys E nter'). –

+4

Если вы хотите отправить команду и нажмите enter, используя пробел для их разделения: 'send-keys 'ls" Enter " – diabloneo

Смежные вопросы