Fügen Sie in vim eine Textzeile vor Zeilen ein, die einem regulären Ausdruck entsprechen

Fügen Sie in vim eine Textzeile vor Zeilen ein, die einem regulären Ausdruck entsprechen

Ich versuche, mit vim eine Spalte zu einer HTML-Tabelle hinzuzufügen, also muss ich <td>vor jeder Zeile ein Tag- Paar hinzufügen </tr>. Bisher habe ich

:186,$s/ <\/tr>/<td><\/td> \n <\/tr>/g
aber vim zeigt an, ^@dass statt einer neuen Zeile das schließende tr-Tag erstellt wird. Gibt es einen Weg, das zu umgehen?

Antwort1

Ja, Sie müssen im Ersetzungsteil \ranstelle von verwenden, eine Eigenart des Vim- Befehls. Und Sie können den Befehl weiter vereinfachen, indem Sie ein anderes Trennzeichen verwenden, z. B. , und indem Sie auf die Übereinstimmung verweisen über :\n:s#&

:186,$s# </tr>#<td></td> \r&#g

verwandte Informationen