Dlaczego `bind` i` .inputrc` zachowują się inaczej?

14

Staram się postępować właściwie i umieścić moje powiązania klawiszy ~/.inputrc.

Okazuje się jednak, że muszę się zmienić

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

w

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

Teraz \eOH(nav-block-pos1 związany z beginning-of-line) i \eOF(nav-block-end związany z end-of-line) same są powiązaniami w mojej konfiguracji, na których prawdopodobnie nie zawsze mogę polegać.

Zatem główne pytanie brzmi: dlaczego wiązanie z num-block-pos1 ( \e[1~) i num-block-end ( \e[4~) działa z bindmoim, ale nie w moim ~/.inputrc?


Edytować:

Wszystko staje się jeszcze bardziej skomplikowane, teraz, kiedy zdałem sobie sprawę, że \e\C-jdziała tylko dla Gnome Terminial (lub prawdopodobnie również xterm, kto wie ...).

Dla mojego TTY to musi być

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

Czy więc różne VT mają różne implementacje interpretacji kluczy?


źródło
Jest to udokumentowane w podręczniku GNU Readline User Interface , sekcja 1.3. keymapOpcja służy do ustawiania jakiego rodzaju reprezentacji klucz jest używany w kluczowych definicji wiązań. Istotne informacje: superuser.com/questions/286781/… cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC9 wiki.archlinux.org/index.php/Readline
Ярослав Рахматуллин
@ ЯрославРахматуллин Jak dokładnie to ma znaczenie dla różnicy w zachowaniu między używaniem bindi używaniem inputrcdla faktycznego wiązania. Czy nie powinni używać tych samych ustawień?

Odpowiedzi: