Ich möchte ein Wort in mehrere Zeilen einfügen, gibt es einen Befehl wie
:[2,3,5,7,11]s/^/word\ /g
was würde word
am Anfang von Zeile 2, Zeile 3, Zeile 5, Zeile 7 und Zeile 11 einfügen ?
Hier sind mehrere Zeilen nicht zusammenhängend.
Ich möchte ein Wort in mehrere Zeilen einfügen, gibt es einen Befehl wie
:[2,3,5,7,11]s/^/word\ /g
was würde word
am Anfang von Zeile 2, Zeile 3, Zeile 5, Zeile 7 und Zeile 11 einfügen ?
Hier sind mehrere Zeilen nicht zusammenhängend.
Antworten:
Das Durchführen einer Substitution in mehreren aufeinanderfolgenden Zeilen ist ziemlich einfach:
:2,11s/^/word /
Ein Bereich kann jedoch keine nicht aufeinander folgenden Zeilen abdecken.
Mit ein wenig Kreativität ist es jedoch durchaus möglich, diese "Einschränkung" zu umgehen.
In der Tat können Sie die letzte Ersetzung mit :&
oder wiederholen :&&
(die erstere behält die ursprünglichen Flags nicht bei, die letztere), so dass Sie die Ersetzungen ziemlich einfach verketten können:
2s/^/word /|3&|5&|7&|11&
Sehen :help :&
und scrollen Sie nach :&&
.