Tastaturmakros für Bash und andere
Wer zu faul zum Tippen ist, dem bietet die Readline Bibliothek (welche auch in der Bash Verwendung findet) die Möglichkeit Tastaturmakros zu vereinbaren. Die Definitionen dafür können in der Datei ~/.inputrc getroffen werden. Diese oder die Datei auf die die Umgebungsvariable $INPUTRC zeigt wird beim Start eines jeden Programmes, welches sich der libreadline bedient, ausgewertet. Die einzelnen Einträge dieser Datei haben dabei die Form
Tastaturbefehl: Makro
Ertappt man sich z.B. dabei, daß man häufiger Programmausgaben in bestimmte Dateien umleitet, so kann man sich die Arbeit erleichtern, indem man ein Tastaturkürzel vereinbart.
Control-u:"1>u.out 2>u.err^M"Mit dieser Definition in der ~/.inputrc reicht es wenn man in Zukunft Control-u drückt um die Standardausgabe eines eingegeben Befehls in die Datei u.out und die Fehlermeldungen in die Datei u.err umzuleiten. Das abschließende ^M steht dabei für einen Zeilenumbruch, welchen man im Emacs per C-q C-M eingeben kann.
Arbeitet man häufiger interaktiv mit dem Python-Interpreter, so ist es hilfreich wenn man sich eine Taste für die Eingabe des Befehls print vereinbart. Der folgende Eintrag in ~/.inputrc bewirkt daß die Eingabe von F12 print gefolgt von einem Leerzeichen bewirkt.
"e[24~":"print "Dabei steht e[24~ für den Tastaturcode der F12-Taste. Herausfinden kann man diesen Code (welcher je nach Terminal unterschiedlich sein kann) z.B. indem man cat Aufruft und danach die entsprechende Taste drückt.
$ cat ^[[24~ Control-dDas ^[ am Anfang steht dabei für ESCAPE und ist für die Vereinbarung wie im obigen Beispiel durch e zu ersetzten.
Weitere Beispiele finden sich in der manpage von readline.
14.07.2000