Steuerzeichen in .inputrc verstehen

6889
Amelio Vazquez-Reina

Mein Linux-Konto auf einem Remote-Computer verfügt über die folgenden vordefinierten Einstellungen .inputrc

"\e[1~": beginning-of-line "\e[4~": end-of-line “\e[5~”: history-search-backward “\e[6~”: history-search-forward "\e[3~": delete-char "\e[2~": quoted-insert "\e[5C": forward-word "\e[5D": backward-word "\e\e[C": forward-word "\e\e[D": backward-word  set completion-ignore-case on set bell-style visible set expand-tilde on set convert-meta off set input-meta on set output-meta on set show-all-if-ambiguous on set visible-stats on 

Ich lese das GNU bash Dokumentation zum Thema, aber ich habe nicht einen Abschnitt zu finden in der Lage zu erklären, was die Zeichenfolge \e[1~, \e[5C, \e\e[Detc. bedeuten.

Ich glaube, ich habe irgendwo gelesen, dass \ebedeutet, dass das meta character(was meiner Meinung nach Altin meiner Tastatur), aber nicht verstehen, was die anderen Steuerzeichen [, ~, 5Dusw. bedeuten.

Kennt jemand eine gute Referenz zum Thema?

16

1 Antwort auf die Frage

17
RedGrittyBrick

Dies sind ANSI-Steuercode-Escape-Sequenzen, die übertragen werden, wenn verschiedene nicht-alphanumerische Tasten auf einer "Terminal" -Tastatur gedrückt werden.

\ e bedeutet das ASCII-Zeichen "ESCAPE" (Oktal 033 hex 1B dezimal 27). Was ist Teil einer Befehlssequenz-Einführung (CSI).

Escape [ 2 ~ist eine Zeichenfolge, die übertragen wird, wenn Sie die Taste "Insert" an einem VT220-Terminal (oder höher) drücken .

Viele dieser Konventionen wurden in Software wie xterm und Linux-Konsolen / Shells übernommen - oft erweitert auf verschiedene, manchmal inkompatible Arten.

Die Verwendung dieser Sequenzen in der READLINE-Funktion von bash wird in den Manpages beschrieben

 In der zweiten Form "keyseq": Funktionsname oder Makro unterscheidet sich keyseq from keyname oben in diesen Zeichenfolgen, die eine gesamte Tastenfolge bezeichnen Geben Sie die Reihenfolge an, indem Sie die Reihenfolge in Anführungszeichen setzen. Etwas GNU Emacs-Style-Escape-Schlüssel können wie im folgenden Beispiel verwendet werden Die symbolischen Zeichennamen werden nicht erkannt.  "\ Cu": Universalargument "\ Cx \ Cr": Erneutes Lesen der init-Datei "\ e [11 ~": "Funktionstaste 1"  
Ausgezeichnet!! Genau das, wonach ich gesucht habe. Danke @RedGrittyBrick! Amelio Vazquez-Reina vor 13 Jahren 0
+1. Ich suchte nach `Ctrl`-Code in` inputrc` -> `ENTER` =` Ctrl` + `n`. rendon vor 10 Jahren 0