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?


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.