Vim: Delete every line in the file that does not match a pattern

I realized the power of :g much later than many other commands in vim and I think this one has been there even in vi for a long time.

Here is a great tip that covers the virtues of :g in vim:

Tip #227: Power of :g

The reason I ended up with this tip was that I needed to find a simple command that would delete all lines matching a pattern.

I knew how to delete all lines that matched a pattern.


:g/pattern/d

but I was looking for the inverse and I found it :g’s cousin :v in the above tip as a user comment.


:v/pattern/d

did the job very well. Once again vim saved the day. 🙂

2 Comments
  1. January 18, 2008
  2. July 28, 2009