Rozumiem, że format powiązań klawiszy w inputrc
pliku to:
keyname: function-name or macro
W przypadku keyname widziałem takie rzeczy jak:
"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"
Jakie jest znaczenie tych nazw kluczy i jaki jest ogólny format nazwy klucza? Udostępnij link do dokumentów.
readline(3)
podręcznika użytkownika lub do podręcznika użytkownika readline .Odpowiedzi:
Wiązanie klawiszy można wykonać za pomocą jednej z następujących form:
W pierwszej formie możesz przeliterować nazwę pojedynczego klucza. Na przykład CONTROL-U byłby zapisany jako control-u. Jest to przydatne do wiązania poleceń z pojedynczymi klawiszami.
W drugiej formie podajesz ciąg znaków, który opisuje sekwencję klawiszy, które zostaną powiązane z poleceniem. Ten, który podałeś jako przykład, to sekwencje specjalne odwrotnego ukośnika emacs-tyle reprezentujące klucze specjalne
Możesz określić ukośnik odwrotny, używając innego ukośnika odwrotnego -
\\
. Podobnie'
i"
można też uciec -\'
i\"
Aktualizacja
Te znaki są interpretowane przez terminal po naciśnięciu specjalnych klawiszy. Nie chcesz wiązać zwykłych liter i cyfr w wiązaniu klawiszy, ponieważ możesz ich używać regularnie i może powodować problemy, gdy przypadkowo trafisz na kombinację, która została zmapowana w twoim
~/.inputrc
lub/etc/inputrc
pliku.Aby dowiedzieć się więcej, po prostu wpisz
read
polecenie terminalu i naciśnij wszystkie rodzaje klawiszy specjalnych, takich jak Klawisze funkcyjne, HOME, KONIEC, Klawisze strzałek itp., I zobacz, co się wyświetli.Oto małe odniesienie , które znalazłem, i które może zapewnić podstawowe zrozumienie. Powodzenia! :)
źródło
\e[1~
,\M-l
i\C-[OD
myśli?\e
,\M
I\C
części są jasne. A co z resztą? Na przykład:[1~
- Czy powinienem nacisnąćShift
+{
+1
+Shift
+`
?