Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: Array and string offset access syntax with curly braces is deprecated in /www/htdocs/martg/_app/core/api/helper.php on line 56

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309
blindschleiche

blindschleiche

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-d
Das ^[ 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.