Was ist das allgemeine Format des Schlüsselnamens für Schlüsselbindungen in der Datei „inputrc“?

17

Ich verstehe, dass das Format für Tastenkombinationen in der inputrcDatei ist:

keyname: function-name or macro

Für den Schlüsselnamen sah ich Dinge wie:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

Was bedeuten diese Schlüsselnamen und wie lautet das allgemeine Format für Schlüsselnamen? Bitte teilen Sie einen Link zu Dokumenten.

Mischa Moroschko
quelle
2
Für Ihre Dokumente würde ich empfehlen, die readline(3)Manpage oder das readline-Benutzerhandbuch zu lesen .
jw013
1
Überprüfen Sie Ihre Schlüsselkonfiguration (readline - inputrc) über: $ bind -p
vigo

Antworten:

12

Die Tastenbelegung kann mit einem der folgenden Formulare erfolgen:

  1. Schlüsselname: Befehlsname
  2. "Tastenkombination": Befehlsname

In der ersten Form können Sie den Namen für einen einzelnen Schlüssel buchstabieren. Zum Beispiel würde CONTROL-U als control-u geschrieben. Dies ist nützlich, um Befehle an einzelne Tasten zu binden.

Im zweiten Formular geben Sie eine Zeichenfolge an, die eine Folge von Schlüsseln beschreibt, die an den Befehl gebunden werden. Das Beispiel, das Sie angegeben haben, sind die Escape-Sequenzen im Emacs-Stil, die die Sondertasten darstellen

\C- Kontrolle
\M- Meta
\e- Escape

Sie können einen Backslash mit einem anderen Backslash angeben - \\. Ebenso 'und "kann auch entkommen werden - \'und\"

Aktualisieren

Diese Zeichen werden von Ihrem Terminal beim Drücken von Sondertasten interpretiert. Sie möchten keine regulären Alphabete und Ziffern in Ihrer Schlüsselbindung binden, da Sie diese möglicherweise regelmäßig verwenden. Dies kann zu Problemen führen, wenn Sie versehentlich eine Kombination treffen, die in Ihrer ~/.inputrcoder /etc/inputrcDatei zugeordnet wurde.

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

Um mehr zu erfahren, tippen readSie einfach auf der Eingabeaufforderung Ihres Terminals und drücken Sie alle Arten von Sondertasten wie Funktionstasten, HOME, END, Pfeiltasten usw., um zu sehen, was angezeigt wird.

Hier ist ein kleiner Hinweis, den ich gefunden habe und der ein grundlegendes Verständnis vermitteln kann. Viel Glück! :)

Jaypal Singh
quelle
2
Was bedeutet \e[1~, \M-lund \C-[ODdas? Die \e,, \Mund \CTeile sind klar. Wie wäre es mit dem Rest? Zum Beispiel: [1~- Soll ich Shift+ {+ 1+ Shift+ drücken `?
Misha Moroshko
Ich habe die Antwort für Sie aktualisiert. Ich hoffe, das hilft!
Jaypal Singh
Die Verbindung ist unterbrochen. Weiß immer noch nicht wofür die Tilde oder offene Klammer ist ??
Carl Smith