freeX: Tips & Tricks

Die ausschließlichen Vertriebsrechte an diesem Artikel liegen beim Computer- & Literaturverlag (C&L). Der Artikel darf nicht kopiert oder gar erneut in einer Zeitschrift oder einem Buch veröffentlicht werden ohne vorherige Erlaubnis von C&L. Der Verlag gestattet freundlicherweise die Veröffentlichung auf diesen Seiten. Wer öfter auf diesen Hinweis trifft, sollte sich überlegen, die Zeitschrift freeX zu abonnieren.

Kaskaden beim Einfügen

Auf manchen Distributionen ist der »vim« (Vi IMproved) so eingestellt, daß beim Einfügen von Text mit der Maus Kaskaden entstehen, wenn die Zeilen mit einem oder mehreren Leerzeichen beginnen. Dieser Effekt ist auf eine Besonderheit zurückzuführen, die beim Programmieren sehr hilfreich sein kann. Vim rückt nachfolgende Zeilen automatisch ein, so daß das resultierende Programm besser strukturiert ist. Wenn in die nächste Zeile gesprungen wird, positioniert der Editor den Curser automatisch nicht am Anfang der Zeile, sondern direkt unter dem ersten Zeichen der vorherigen Zeile.

Wenn allerdings Text eingefügt wird, der bereits Leerzeichen am Zeilenanfang enthält, summieren sich die Leerzeichen, was zu dem bekannten Treppeneffekt bzw. der Kaskade führt. Das läßt sich jedoch verhindern, wenn rechtzeitig vor dem Einfügen das automatische Eingrücken (auf Englisch: "automatic indention") abgeschaltet wird. Das geschieht im Befehlsmodus mit dem Befehl »:set noai«. Soll dieser Modus anschließend wieder eingeschaltet werden, gibt man den Befehl »:set ai« ein.

Besser ist es jedoch, wenn vor dem Einfügen von Text der Befehl »:set paste« eingegeben wird, der nach dem Einfügen mit dem Befehl »:set nopaste« zurückgenommen wird. Dabei wird nämlich nicht nur das automatische Einrücken ausgeschaltet, sondern z.B. auch die automatische Auswertung von Abkürzungen, die mit »ab kurz langform« in der Datei ».vimrc« gespeichert sind.

Wer sich das Leben erleichtern möchte und diese Befehle lieber auf einem Tastendruck hat anstatt sie per Hand einzutippen, legt sie sich z.B. auf die Taste F2. Dazu werden die folgenden Anweisungen in die Datei ».vimrc« geschrieben:

   nnoremap :set invpaste paste?
   set pastetoggle=<F2>
Martin Schulze
Quelle: freeX 5/02