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.
but I was looking for the inverse and I found it :g's cousin :v in the above tip as a user comment.
did the job very well. Once again vim saved the day. :-)
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/patter/d
did the job very well. Once again vim saved the day. :-)
4 Comments:
:g!/pattern/d will also do the inverse!
That's awesome -- thanks for sharing. I almost always use grep for stuff like that.
Awesome tip, thanks for posting!
Thanks for the tip, very useful.
Post a Comment
<< Home