2000-07-14
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.