Ich habe eine CSS-Datei und ich möchte nach jeder }
eine leere Zeile hinzufügen.Hinzufügen von Zeilenumbruch nach Muster in VIM
Wie kann ich das in Vim tun?
Ich habe eine CSS-Datei und ich möchte nach jeder }
eine leere Zeile hinzufügen.Hinzufügen von Zeilenumbruch nach Muster in VIM
Wie kann ich das in Vim tun?
Eine Substitution würde gut funktionieren.
:%s/}/\0\r/g
ersetzen }
mit dem ganzen Spiel \0
und eine neue Zeile Zeichen \r
.
oder
:%s/}/&\r/g
Wo &
auch eine Alternative für das ganze Spiel ist, sieht ein bisschen komisch, obwohl meiner Meinung nach. Vim Golfer mögen es, weil es ihnen einen Tastendruck erspart :)
\0
oder &
im Ersatz der Teile wirkt als Sonderzeichen. Während der Ersetzung ersetzt die gesamte übereinstimmende Zeichenfolge das \0
- oder das &
-Zeichen in der Ersetzung.
Wir können dies demonstrieren mit einer komplexeren Suchen und Ersetzen -
Which witch is which?
eine Substitution Nehmen -
:s/[wW][ih][ti]ch/The \0/g
Gewährt -
The Which The witch is The which?
Die Antwort :%s/}/}\r/
ist, denke ich.
:%s/pre/cur\r/g
%
: auf dem gesamten Puffer arbeiten.
pre
(vorheriges Muster): welches Muster wird geändert.
cur
(aktuelles Muster): durch das das vorherige Muster geändert wird.
\r
: neue Zeile.
g
: Wiederholen Sie für jede Übereinstimmung in einer Zeile (Standard ist nur die erste ersetzen).
Für solch eine Anfängerfrage würde eine Erklärung sicherlich helfen: '\ 0' (kürzer wäre' & ') fügt die Übereinstimmung wieder ein,' \ r' ist die Escape-Sequenz für eine neue Zeile (normalerweise ein Ersatz) es ist '\ n'). –