Ваш эмулятор терминала может работать в одном из двух режимов: режим приложения и режим курсора (см. Http://homes.mpimf-heidelberg.mpg.de/%7Erohm/computing/mpimf/notes/terminal.html ). Это зависит от того, в каком режиме работает ваше конкретное приложение, которое определяет, какую escape-последовательность вам нужно отправить.
Почему `bind` и` .inputrc` ведут себя по-разному?
1237
Я пытаюсь сделать правильную вещь и поместить свои привязки клавиш в ~/.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 имеют разные реализации того, как интерпретировать ключи или как?
Это задокументировано в руководстве _GNU Readline User Interface_, раздел 1.3. Опция `keymap` используется для установки того, какой тип представления ключей используется в определениях привязок клавиш. Соответствующая информация: http://superuser.com/questions/286781/readline-difference-between-vi-vi-move-vi-command-vi-insert-keymaps http://cnswww.cns.cwru.edu/php/ chet / readline / rluserman.html # SEC9 https://wiki.archlinux.org/index.php/Readline
Ярослав Рахматуллин 11 лет назад
0
@ ЯрославРахматуллин Как именно это относится к разнице в поведении между использованием `bind` и использованием` inputrc` для фактической привязки. Разве они не должны использовать те же настройки?
11 лет назад
0
1 ответ на вопрос
2
chepner
Похожие вопросы
-
2
Как отправить escape-символ на OS X терминал?
-
2
.profile в Mac OS X?
-
1
Как разблокировать заблокированный файл псевдонимов в OS X?
-
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
4
Использование публичных терминалов для входа в ваши личные учетные данные
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
2
Mac OS X: нужен простой скрипт
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
2
Можно ли передать выходные данные одной команды двум другим командам?