Zum Inhalt springen

bind

Aus Foxwiki

bind - Bestimmt Readline Tastenzuordnungen und Variablen


Beschreibung

Weist eine Tastensequenz einer Readlinefunktion oder -makro zu oder setzt eine Readlinevariable. Die Argumentsyntax ist zu den Einträgen in ~/.inputrc äquivalent, aber sie müssen als einzelnes Argument übergeben werden. Z.B: bind '"\C-x\C-r": re-read-init-file'.

Das Kommando besitzt in erster Linie im Zusammenspiel mit der Datei /etc/inputrc (bzw. ~/.inputrc) eine Rolle.

Besagte Dateien enthalten die Keybindings, also die Zuordnungen von Tastenkombinationen zu bestimmten Funktionalitäten.

Wenn bspw. die unter Interaktive Bash aufgeführten Eingabehilfen bei Ihnen nicht funktionieren sollten, dann fehlt in der Konfiguration Ihrer Bash die notwendige Zuordnung (oder Sie verwenden eine ältere Bashversion).

bind kann auch interaktiv benutzt werden, um bestimmte Keybindings zu löschen, um sie sich anzeigen zu lassen oder neue zu definieren.

Letzteres ermöglicht gar die Ausführung von Kommandos bei Betätigung einer zuvor definierten Tastensequenz. Benötigen Sie solche Sequenzen häufig, so nehmen Sie sie in ihre persönliche ~/.inputrc auf.

Wenn Sie mit der Bash einigermaßen per Du sind, so kennen

Sie die eine oder andere Tastenkombination, um geschwind auf der Kommandozeile zu navigieren oder diese zu manipulieren. Hinter den Mechanismen verbergen sich readline-Funktionen.

Welche es gibt, verrät der Aufruf bind -l und über deren aktuelle Belegung weiß bind -p bescheid. Erscheint in letzter Ausgabe not bound, so ist diese Funktion nicht belegt.

bind -p | head -5
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line

Angenommen Sie verfassen im vi ein deutschsprachiges html-Dokument.

Um die Zeichen ä, ö,... in Browsern, die deutsche Zeichensätze nicht unterstützen, korrekt darzustellen, sollten alle länderspezifischen Zeichen im Unicode dargestellt werden, also bspw. ü anstatt ü.

Die komfortable Lösung ist das Verändern der Tastaturbelegung, so dass automatisch der Unicode im Text erscheint. In der Bash erreichen Sie dies wie folgt:

bind '"ü":"ü"'

Sobald Sie ü tippen, erscheint in der Eingabe ü. Um die Bindung aufzuheben, geben sie bind -r <Tastensequenz> an; aber für gewöhnlich besteht der Wunsch, die alte Belegung wieder herzustellen.

Eine Taste, die als sie selbst definiert wird, wird in folgender Manier belegt:

bind 'ü:self-insert'

Obige Form der Tastenbindung nennt man auch Makro; daneben können sie auch Funktionen und gar Kommando(s) an Tasten(sequenzen) binden.

Das nachfolgende Beispiel bindet [Strg]+[b] an die Ausgabe des Kalenders des aktuellen Monats:

bind -x '"\C-b":cal'
 [Strg]+[B]'''
     November 2000
 So Mo Di Mi Do Fr Sa
           1  2  3  4
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30

Ihre gesammelten Werke der Tastenbindungen können Sie auch in eine beliebige Datei schreiben und diese mittels "bind -f <Datei>" laden.

Aufruf

bind: bind [-lpsvPSVX] [-m Tastaturtabelle] [-f Dateiname] [-q Name] [-u Name] [-r Tastenfolge] [-x Tastenfolge:Shell Kommando] [Tastenfolge:readline-Funktion oder -Kommando]

Optionen

Unix Beschreibung
-m Keymap Benutzt KEYMAP as Tastaturbelegung für die Laufzeit dieses Kommandos. Gültige Keymapnamen sind: emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command und vi-insert.
-l Listet Funktionsnamen auf.
-P Listet Funktionsnamen und Tastenzuordnungen auf.
-p Listet Funktionsnamen und Tastenzuordnungen so auf, dass sie direkt als Eingabe verwendet werden können.
-S Listet Tastenfolgen und deren Werte auf, die Makros aufrufen.
-s Listet Tastenfolgen und deren Werte auf, die Makros aufrufen, dass sie als Eingabe wiederverwendet werden können.
-V Listet Variablennamen und Werte auf.
-v Listet Variablennamen und Werte so auf, dass sie als Eingabe verwendet werden können.
-q Funktionsname Sucht die Tastenfolgen, welche die angegebene Funktion aufrufen.
-u Funktionsname Entfernt alle der Funktion zugeordneten Tastenfolgen.
-r Tastenfolge Entfernt die Zuweisungen der angegebeben Tastenfolge.
-f Dateiname Liest die Tastenzuordnungen aus der angegebenen Datei.
-x Tastenfolge:Shellkommando Weist der Tastenfolge das Shellkommando zu.
-X Listet mit -x erzeugte Tastenfolgen und deren Werte auf, die Makros aufrufen, dass sie als Eingabe wiederverwendet werden können.

Argumente, die zu keiner Option gehören, werden von der -p und -P Option als Readline-Kommando betrachtet und die Ausgabe auf diese Kommandos beschränkt.

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Projekt