it-swarm.com.de

Wie lösche ich alle Zeilen, die mit einem Muster und einer Zeile in Vim übereinstimmen?

Da ist ein Text

Title of the text

This line contains a Word that is matched by the pattern and it should be deleted.
Next line is supposed to be deleted as well.

Loren ipsum dolorem...

This line contains a Word that is matched by the pattern and it should be deleted.
And this one should be deleted

The end of the article

So löschen Sie jedes Zeilenpaar, das der ersten Zeile entspricht, z. 'Diese Zeile enthält ein Wort ...' und die Zeile danach. Ergebnis wäre:

Title of the text

Loren ipsum dolorem...

The end of the article
26
Boris Pavlović

Sie können verwenden

:g/Word/normal 2dd

Dadurch werden alle Instanzen von Word gefunden und anschließend der Befehl ausgeführt. In diesem Fall führt es 2dd im normalen Modus aus

45
FDinoff

Verwenden Sie :g[lobal] mit einem d[elete]-Befehl mit einem ,+1-Bereich, um die übereinstimmende Zeile zu löschen.

:g/Word/,+1d
20
Pavel Anossov

Sie können den Befehl :g[lobal] verwenden:

:g/This line/norm 3dd
4
romainl

ein anderer Weg mit: g

:g/Word/norm dj
2
Kent

Möglicherweise möchten Sie dies versuchen:

:g/your pattern go here/d
0
Thanh Nguyen