Gibt es ein Gegenteil von: g in vim?

10

Ich weiß, wie man mit jeder Linie, die einem Muster entspricht, etwas macht :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 so etwas tun wie:

:G/foo/d

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

Irgendwelche Ideen?

pkaeding
quelle
2
miv ni g :.
Tsilb

Antworten:

17

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 wechseln,

grep -v foo filename.txt > new.txt

werde das tun

nik
quelle