Формат привязок клавиш на экране GNU - PullRequest
2 голосов
/ 02 декабря 2011

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

bindkey "^k" eval "copy" "stuff k"    # enter copy mode and move up one line

Здесь ^ соответствует клавише Ctrl, eval оценивается, а "copy" означает вход в режим копирования. stuff , я предполагаю, похоже на escape-символ, который помогает экрану понять, что k - это команда в режиме копирования.Теперь я могу войти в режим копирования с помощью <Ctrl-k> и выйти из него с помощью любого неиспользуемого ключа, например] или Esc.

Я хочу немного лучше понять формат привязки клавиш, и мне нужен какой-то источник, такой как :h keycodes в VIM, который показывает все возможные привязки клавиш, которые понимает VIM.

Есть команда или помощь?страницу, которая может сказать мне, что может понять экран привязок клавиш?Например, как мы узнаем, как screen понимает PageUp / PageDown, чтобы мы могли сопоставить его с какой-то функцией?

1 Ответ

3 голосов
/ 06 марта 2012

Взгляните на раздел Input Translation справочной страницы.Там есть таблица со всеми именами termcap для ключей, которую вы можете использовать как bindkey -k k5 other (это связывает клавишу F5 с командой other для переключения между активными окнами).

Также посмотрите накоманда bind, которая связывает клавиши, которые вводятся из командного режима (после нажатия Ctrl-a).

Команда stuff отправляет свои аргументы, как если бы пользователь вводил их в командной строке.В прошлом я использовал это для управления несколькими оболочками на нескольких машинах, «вставляя» нажатия клавиш во все мои окна.

...