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 bind
moim, ale nie w moim ~/.inputrc
?
Edytować:
Wszystko staje się jeszcze bardziej skomplikowane, teraz, kiedy zdałem sobie sprawę, że \e\C-j
dział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?
keymap
Opcja 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/Readlinebind
i używanieminputrc
dla faktycznego wiązania. Czy nie powinni używać tych samych ustawień?Odpowiedzi:
Twój emulator terminala może działać w jednym z dwóch trybów: trybie aplikacji i trybie kursora (patrz http://homes.mpimf-heidelberg.mpg.de/%7Erohm/computing/mpimf/notes/terminal.html ). Zależy to od trybu, w którym działa dana aplikacja, który określa sekwencję zmiany znaczenia, którą należy wysłać.
źródło