Vim Multi-Repeat

Mit dem Multi-Repeat Kommando :g ist es möglich innerhalb einer Datei in Zeilen, die dem Suchkriterium entsprechen, Aktionen auszuführen. Dies ist insbesondere dann praktisch, wenn an bestimmten Zeilen eine weitere angehängt werden soll.
Beispiel:
Unter Zeilen die pattern enthalten soll die Zeile Z123 geschrieben werden.
Erst mal die Zeile Z123 in das Register s mit "syy speichern. Danach
:g/pattern/normal "sp
ausführen, und fertig.
Um das ganze auf Zeilen anzuwenden, die dem Suchkriterium nicht entsprechen, einfach dem :g ein ! anhängen. Also
:g!/pattern/normal "sp

Vim rulez

Warum ich den Vim Editor so liebe. Nun, letztens mussten in mehreren Dateien bestimmte Zeilen unter die folgende Zeile gesetzt werden. Mit den üblichen Editoren sucht man also diese Zeilen, markiert sie, schneidet sie aus und setzt sie unter die folgende Zeile. So kann man natürlich auch mit Vim arbeiten. Erst ein
/pattern
und dann mit
ddp
die Zeile umsetzen. Die nächste Zeile wird dann mit n angsprungen, und so weiter und so fort.
Nun – dachte ich mir, das muss doch auch besser gehen, und da kam mir die Erleuchtung. Ein beherztes
:g/pattern/normal ddp
und schwupps war ich fertig. In der Zeit, in der andere dann vor sich her fluchen, bin ich schon beim nächsten Kaffee. 🙂