Каковы действительные ключи для tmux?

20

Я пытался научиться использовать bind-key [-cnr] [-t key-table] key command [arguments]лучшее, но у меня возникли проблемы с выяснением, что такое «действительные ключи » для bind-keyкоманды.

Я пытался делать man tmuxи Google, но я не мог найти ничего полезного.

  • Как я могу выяснить, каков синтаксис для допустимых ключей?
  • Для этого есть команда помощи или manстраница?
  • Может быть, я не знаю технического термина для этих действительных ключей, есть ли термин для этих ключей, чтобы я мог лучше выполнить поиск в Google?

Например, я пытался выяснить, что означало следующее переназначение команд:

bind-key -n M-S-Left resize-pane -L 2
bind-key -n M-S-Right resize-pane -R 2
bind-key -n M-S-Up resize-pane -U 2
bind-key -n M-S-Down resize-pane -D 4

Их -nбыло легко найти на manстранице (без префикса). Но я не могу понять, что M-S-Leftзначит ключ.

Я предполагаю, что его отображение сдвиг и стрелка влево плюс все, что Mозначает для resize-pane -L 2команды.

  • Как мне понять, что Mзначит?
  • Что делать, если я хотел контроль + любой ключ, который я хотел. Является ли контроль = C?
  • Как я могу понять это, не нажимая случайные клавиши на моей клавиатуре, пока что-то не заработает?
  • Кроме того, как мне подтвердить, выяснить, не сопоставляю ли я его с набором ключей, который уже используется?
  • Есть ли такая вещь, как "показать все псевдонимы" или что-то?
  • В дополнение к вопросу, эти действительные ключи такие же, как и для vim?

Дело в том, что, vimпохоже, есть разные сценарии для своего языка, поскольку иногда требуется и прочее.

Пиноккио
источник
2
M обозначает Meta, который является клавишей Alt на клавиатуре ПК.
Чайба
1
спасибо за этот конкретный пример! Но в целом было бы неплохо узнать, как уметь самостоятельно определять такие вещи, не обращаясь в stachexchange, чтобы попросить каждый ключ, который мне нужен.
Буратино
1
Надеюсь я ответил на ваши вопросы :). Я постараюсь найти ответ на vimвопросы :).
полим
да, это сделал! это было потрясающе! Благодарность! :) Это не позволило мне принять, потому что ты ответил так скоро после того, как я отправил вопрос! LOL :) Спасибо еще раз. :)
Буратино
1
Ха-ха, никаких проблем :). tmuxявляется удивительным!
полим

Ответы:

24

Доступные ключи

Посмотрите man tmux, поиск /по KEY BINDINGS:

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

При указании ключей большинство из них представляют себя (например, от «А» до «Z»). Клавиши Ctrl могут иметь префикс «C-» или «^», а Alt (мета) - «M-».

Кроме того, принимаются следующие специальные имена ключей:

Вверх, Вниз, Влево, Вправо, Пробел, BTab, DC (Удалить), Конец, Ввод, Выход, F1 - F20, Дом, IC (Вставить), NPage / PageDown / PgDn, PPage / PageUp / PgUp, Пробел и Вкладка , Обратите внимание, что для привязки клавиш «» или «» кавычки необходимы [...]

МС-слева должно быть Alt+ Shift+ Left, например.


Список всех связанных ключей

Чтобы получить список всех привязок клавиш, просто нажмите Ctrl- bзатем ?во время tmuxсеанса.

Это также описано man tmuxв разделе EXAMPLES:

Ввод "Cb?" перечисляет текущие привязки клавиш в текущем окне; вверх и вниз можно использовать для навигации по списку или «q» для выхода из него.

Вы также можете перечислить все привязки клавиш через tmux list-keys. Если вы хотите проверить наличие уже установленных ключей, вы можете grepпроверить их вывод, если они уже установлены.


Исследование

Чтобы узнать больше через Google, поищите имена разделов man tmux- просто введите, tmux default key bindingsнапример, :). Но часто man tmuxбывает достаточно.

Этот сайт является очень хорошей документацией tmuxи всплывает, если вы ищете указанную строку в Google.

Arch wiki тоже всегда хорош.

Polym
источник
как на самом деле использовать alt для компьютеров MAC? Я думаю, это отличается от ключа опции.
Чарли Паркер
@CharlieParker «Alt» будет клавишей «Meta» .... В терминале Mac OS в настройках терминала в разделе «Профили» выберите профиль (например, тот, который вы используете), затем на вкладке «Клавиатура», есть флажок «Использовать опцию как мета-ключ». Затем вы можете использовать клавишу alt / option для Meta ... не уверен, что связывание клавиш "Meta" по умолчанию используется на Mac, хотя ... может быть Command, но Command не отправляется в терминальную сессию; Похоже, что система сначала захватывает.
Аарон Уоллентин
И, видимо, «BTab» означает «Shift-Tab» ... не уверен, что такое «BSpace» ... когда я попытался сопоставить что-то с «BSpace», а затем попытался запустить с префиксом Shift + Space, это закончилось «Следующая компоновка», которая по умолчанию связана с префиксом, пробелом.
Аарон Уоллентин
Клавиши F> 12 изменились: github.com/tmux/tmux/commit/…
Делавуит,
9

Вот полный список «расширенных» имен ключей, доступных в tmux 2.2 ( скопировано из источника ):

    /* Function keys. */
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
IC
DC
Home
End
NPage
PageDown
PgDn
PPage
PageUp
PgUp
Tab
BTab
Space
BSpace
Enter
Escape
    /* Arrow keys. */
Up
Down
Left
Right
    /* Numeric keypad. */
KP/
KP*
KP-
KP7
KP8
KP9
KP+
KP4
KP5
KP6
KP1
KP2
KP3
KPEnter
KP0
KP.
    /* Mouse keys. */
MouseDown1Pane
MouseDown1Status
MouseDown1Border
MouseDown2Pane
MouseDown2Status
MouseDown2Border
MouseDown3Pane
MouseDown3Status
MouseDown3Border
MouseUp1Pane
MouseUp1Status
MouseUp1Border
MouseUp2Pane
MouseUp2Status
MouseUp2Border
MouseUp3Pane
MouseUp3Status
MouseUp3Border
MouseDrag1Pane
MouseDrag1Status
MouseDrag1Border
MouseDrag2Pane
MouseDrag2Status
MouseDrag2Border
MouseDrag3Pane
MouseDrag3Status
MouseDrag3Border
MouseDragEnd1Pane
MouseDragEnd1Status
MouseDragEnd1Border
MouseDragEnd2Pane
MouseDragEnd2Status
MouseDragEnd2Border
MouseDragEnd3Pane
MouseDragEnd3Status
MouseDragEnd3Border
WheelUpPane
WheelUpStatus
WheelUpBorder
WheelDownPane
WheelDownStatus
WheelDownBorder

Они могут быть использованы в дополнение к ASCII печатаемые символы набора и в сочетании с M-, C-и S-префиксов.

Юрий Ершов
источник
Нет, Alt-Gr меня огорчает. Интересно, как трудно было бы добавить.
Solarc