Login
Newsletter
Sa, 8. Juli 2000, 12:54

Tasten mit Kommandos belegen

In der Datei .inputrc kann man Tasten beliebige Zeichenfolgen zuordnen.

Viele Programme, insbesondere Bash, verwenden die GNU Readline-Bibliothek zur Eingabe von Kommandozeilen. Readline gestattet es, jede Taste nach Belieben zu definieren. Diese Definitionen werden, zusammen mit anderen Konfigurationsdaten, in der Datei .inputrc im Home-Directory abgelegt.

Wollen wir zum Beispiel ein häufig benutztes Kommando, nämlich less /var/log/messages auf die Taste F1 legen, dann müssen wir folgende Zeile in .inputrc einfügen:

"\e[11~": "less /var/log/messages^M"

Hierbei ist zu beachten, daß das letzte Zeichen in \e[11~ eine Tilde ist. Alle Zeichen sind exakt so einzugeben wie hier zu sehen, mit Ausnahme des ^M am Ende. Das ^M steht für Enter und bewirkt, daß das Komando direkt ausgeführt wird. Ohne das ^M würde nur der Kommandostring in die Kommandozeile kopiert und auf Eingabe von Enter oder weiteren Zeichen gewartet.

Wie man das ^M eingibt, hängt vom verwendeten Editor ab. Bei vi ist es STRG+V, gefolgt von Enter. Es muß auf jeden Fall ein einzelnes Zeichen eingegeben werden, ASCII-Code 13.

Die Zeichenfolge \e in der Datei wird von Readline als das Escape-Zeichen interpretiert. Die oben angegebene Sequenz gilt unter X11. An der Konsole ist sie unterschiedlich, aber man kann durchaus beide in derselben .inputrc definieren.

Normalerweise wird die Änderung in .inputrc erst in einer neu gestarteten Shell wirksam. Drücken wir jedoch die Tastenfolge STRG+X STRG+R, wird die Änderung sofort wirksam, wie das Drücken von F1 zeigt.

Wie kann man den Trick auf weitere Tasten ausweiten? Dazu muß man den Code kennen, den die Tasten erzeugen. Diesen kann man herausfinden, indem man in der Kommandozeile STRG+V gefolgt von der gewünschten Taste eingibt. Das ergibt eine Escape-Sequenz (die ersten beiden Zeichen sind ^[, was für STRG+[, gleichbedeutend mit Escape steht). Ersetzt man das ^[ durch \e, hat man die benötigte Sequenz für .inputrc gefunden.

Die Details zur Verwendung von Readline sind in der Bash-Manpage enthalten.

Kommentare (Insgesamt: 11 || Alle anzeigen )
Progs mit f tasten öffnen (cugan, Mi, 2. Oktober 2013)
Re: Tasten mit Kommandos belegen (Karl, Mo, 16. Oktober 2000)
Nur mal so (Anonymous, Mi, 12. Juli 2000)
Re: Re: Tasten mit Kommandos belegen (hjb, Di, 11. Juli 2000)
Re: Tasten mit Kommandos belegen (Anonymous, Di, 11. Juli 2000)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten