Почему `bind` и`.inputrc` ведут себя по-разному?

Я пытаюсь сделать правильные вещи и поставить свои привязки клавиш в ~/.inputrc,

Тем не менее, оказывается, что я должен изменить

bind '"\e\C-j":"\e[1~quiet \e[4~\n"'

в

"\e\C-j": "\eOHquiet \eOF\n"

Сейчас \eOH (nav-block-pos1 связан с beginning-of-line) а также \eOF (nav-block-end связан с end-of-line) сами по себе являются привязками в моей конфигурации, на которые я, возможно, не всегда могу положиться.

Итак, главный вопрос: почему привязка к num-block-pos1 (\e[1~) и num-block-end (\e[4~) работа с bind но не в моем ~/.inputrc?


Редактировать:

Все становится еще сложнее, теперь, когда я понял, что \e\C-j работает только для Gnome Terminial (или, возможно, xterm, кто знает...).

Для моего TTY это должно быть

"\e\C-m": "\e[1~_quiet \e[4~\n"

Так что разные VT имеют разные реализации того, как интерпретировать ключи или как?

1 ответ

Ваш эмулятор терминала может работать в одном из двух режимов: режим приложения и режим курсора (см. http://homes.mpimf-heidelberg.mpg.de/~rohm/computing/mpimf/notes/terminal.html). Это зависит от того, в каком режиме работает ваше конкретное приложение, которое определяет, какую escape-последовательность вам нужно отправить.

Другие вопросы по тегам