GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie Linux-Makros und Funktionstastenbelegungen in der .intputrc-Datei

Readline bietet Ihnen auch die Möglichkeit, Ihre eigenen benutzerdefinierten Tastenkombinationen zuzuordnen, indem Sie die .inputrc-Konfigurationsdatei in Ihrem Home-Verzeichnis bearbeiten.

Im Folgenden sind zwei Arten von benutzerdefinierten Tastenkombinationen aufgeführt, die Sie definieren können:

  1. Makros
  2. Funktionen

Makros

Sie können eine Tastenkombination definieren, die bei Ausführung eine Zeichenfolge an der aktuellen Position des Cursors ausfüllt. Fügen Sie dazu eine Zeile mit dem folgenden Format zu Ihrer .inputrc-Konfigurationsdatei hinzu (oder erstellen Sie die Datei, falls sie noch nicht existiert):

<key combination>: "<string of characters>"

Angenommen, ich leite die Ausgabe wiederholt in die Datei „~/debug_output.txt“ um. Ich könnte ein Makro in meiner .inputrc definieren, indem ich die folgende Zeile hinzufüge:

Control-g: " > ~/debug_output.txt"

Wenn ich jetzt die Tastenkombination Strg-g eingebe, wird die Umleitungsanweisung nach meinem Cursor hinzugefügt, sodass ich sie einfach an das Ende anderer Befehle anhängen kann.

Beachten Sie beim Erstellen von Makros Folgendes:

  • Ich kann die Tastenkombinationen auf Englisch buchstabieren (Weitere Informationen dazu finden Sie auf der Manpage für bash. Suchen Sie nach dem Abschnitt „Readline Key Bindings“)
  • Die vom Makro einzufügende Zeichenfolge muss in doppelte Anführungszeichen (“) eingeschlossen werden
  • Die Wahl von Strg-g war willkürlich, Sie könnten eine Kombination wählen, die für Sie aussagekräftiger ist.
  • Es ist möglich, die Standardtastenbelegungen zu überschreiben (denken Sie daran, wenn Sie Ihre eigenen definieren)
  • Damit die Tastenkombination wirksam wird, müssen Sie eine neue Shell-Instanz starten (.inputrc-Konfigurationsdatei wird beim Start der Shell gelesen)

Funktionen

Sie können auch eine Tastenkombination erstellen, die bei Ausführung eine Funktion aufruft. Readline bietet eine große Anzahl vordefinierter Funktionen zur Auswahl. Um eine Tastenkombination einer vordefinierten Funktion zuzuordnen:

<key combination>: <function-name>

Eine Liste der verfügbaren vordefinierten Funktionen finden Sie im GNU Readline-Handbuch.

Es ist auch möglich, eigene benutzerdefinierte Funktionen zu definieren, aber das erfordert, dass sie in C geschrieben werden und würde den Rahmen dieses Tutorials sprengen. Wir werden das vielleicht später in einem separaten Tutorial behandeln.

Eine nützliche vordefinierte Funktion ist „Menü vervollständigen“. Es bietet ein alternatives automatisches Vervollständigungsverhalten.

Das Standardverhalten für die automatische Vervollständigung (der TAB-Taste zugeordnet) ist entweder:

  • Fügen Sie den teilweisen Befehl/Verzeichnis/Dateinamen ein, wenn eine einzelne Übereinstimmung vorhanden ist
  • eine Liste möglicher Übereinstimmungen anzeigen, wenn mehr als eine vorhanden ist

menu-complete durchläuft stattdessen die Liste möglicher Übereinstimmungen und füllt bei jedem Aufruf der Funktion die nächste mögliche Übereinstimmung aus. Dieses Verhalten kann nett sein, besonders wenn längere Dateinamen automatisch vervollständigt werden. Um die TAB-Taste neu zuzuordnen, um dieses Verhalten zu verwenden, fügen Sie die folgende Zeile zu Ihrer .inputrc-Datei hinzu.

TAB: menu-complete

Beachten Sie, dass diese neue Tastenkombination in der aktuellen Shell nicht wirksam wird. Sie müssen eine neue Instanz starten, um die .inputrc-Konfigurationsdatei neu zu laden

In diesem Tutorial haben wir gelernt, dass die Linux-Befehlszeilen-Tastenkombinationen von einem Tool namens Readline unterstützt werden. Eine Tastenbelegung kann 1 von 2 Typen sein:

  • Makro:erweitert eine Zeichenfolge
  • Funktion:führt eine Aktion aus

Readline stellt uns eine Reihe von Standardtastenbelegungen zur Verfügung, gibt uns aber auch die Flexibilität, unsere eigenen in der .inputrc-Konfigurationsdatei zu erstellen. Um schließlich alle aktuellen Tastenkombinationen anzuzeigen, können wir den Befehl „bind“ verwenden.

bind -p

Linux
  1. So erstellen Sie eine passwortgeschützte ZIP-Datei unter Linux

  2. So erstellen oder vergrößern Sie Swap Space in Linux

  3. So leiten Sie die Ausgabe in eine Datei und Stdout in Linux um

  4. So erstellen und mounten Sie Dateisysteme in Linux

  5. Wie erstelle ich eine Datei in Linux aus dem Terminalfenster?

Linux-Hostdatei:Wie wird sie bearbeitet und verwendet?

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So können Sie versteckte Dateien und Verzeichnisse unter Linux anzeigen und erstellen

So erstellen Sie eine SSH-Schlüssel-Passphrase unter Linux

So erstellen Sie eine große 1-GB- oder 10-GB-Datei unter Linux

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux