Jaki jest ogólny format nazwy klucza dla powiązań klawiszy w pliku „inputrc”?

17

Rozumiem, że format powiązań klawiszy w inputrcpliku 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.

Misza Moroszko
źródło
2
W przypadku dokumentów polecam zajrzeć na stronę readline(3)podręcznika użytkownika lub do podręcznika użytkownika readline .
jw013,
1
Sprawdź swoją konfigurację klucza (readline - inputrc) poprzez: $ bind -p
vigo

Odpowiedzi:

12

Wiązanie klawiszy można wykonać za pomocą jednej z następujących form:

  1. keyname: nazwa_komendy
  2. „keystroke_sequence”: nazwa_komendy

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

\C- Kontrola
\M- Meta
\e- Ucieczka

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 ~/.inputrclub /etc/inputrcpliku.

[1~ is what is interpreted by your terminal when you press your HOME button. 

Aby dowiedzieć się więcej, po prostu wpisz readpolecenie 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! :)

jaypal singh
źródło
2
Co robi \e[1~, \M-li \C-[ODmyśli? \e, \MI \Cczęści są jasne. A co z resztą? Na przykład: [1~- Czy powinienem nacisnąć Shift+ {+ 1+ Shift+ `?
Misha Moroshko
Zaktualizowałem odpowiedź dla ciebie. Mam nadzieję, że to pomaga!
jaypal singh
Link jest zepsuty. Nadal nie wiem, do czego służy tyldy lub otwarty nawias ??
Carl Smith