Tip 213 Printable Monobook Previous Next

created 2002 · complexity basic · author tarjei · version 5.7

The ex command g is very useful for acting on lines that match a pattern. You can use it with the d command, to delete all lines that contain a particular pattern, or all lines that do not contain a pattern.

For example, to delete all lines containing "profile" (the first command is optional; it shows the lines that the second command will delete):


More complex patterns can be used, such as deleting all lines that are empty or that contain only whitespace:


To delete all lines that do not contain a pattern, use g!, like this command to delete all lines that are not comment lines in a Vim script:


Note that g! is equivalent to v, so you could also do the above with:


The next example shows use of \| ("or") to delete all lines except those that contain "error" or "warn" or "fail" (:help pattern):


See also


Can we remove all even numbered lines in a file using this feature. can we do some kind of math in the pattern. (ex: \=line(".") % 2)

Community content is available under CC-BY-SA unless otherwise noted.