Gibt es ein Gegenteil von: g in vim?

1970
pkaeding

Ich weiß, wie ich mit jeder Zeile, die einem Muster entspricht, etwas tut :g. Gibt es eine Möglichkeit, mit jeder Zeile etwas zu tun, das nicht zum Muster passt ?

Angenommen, ich möchte jede Zeile löschen, die nicht mit / foo / übereinstimmt. Ich könnte etwas tun wie:

:G/foo/d 

( :Gist nicht das Gegenteil von :g, aber das ist, wonach ich suche)

Irgendwelche Ideen?

9
miv ni g:. tsilb vor 15 Jahren 2

1 Antwort auf die Frage

17
nik

Ich denke, es gibt eine Umkehrung innerhalb von VIM als

:g!/foo/d 

oder wie der grepBefehl (unten),

:v/foo/d 

Wenn Sie bereit sind, zur Shell-Eingabeaufforderung zu gelangen,

grep -v foo filename.txt > new.txt 

werde das tun