How to Delete Blank Lines in Vim

John John (304)
2 minutes

Vim is a powerful tool. I often paste raw data into Vim in order to format it in a specific way, and sometimes I need to clean up the file by removing many blank lines. Fortunately there is a simple Vim command to remove all blank lines in a file.



See below for more details.

Posted in these interests:
h/vim23 guides

While in normal mode, type:


Here's a breakdown of this command.

:g This will execute a command globally on all lines that match a regex (to follow).
/^$/ This is the regex. The forward slashes enclose the pattern, which is: ^$. This is a regex pattern that matches the beginning of a line (^) and the end of a line ($) with nothing in between, which is the definition of a blank line :)
d This is the command to be executed. d stands for delete!

So when you put it all together, you find all blank lines globally across the whole file, and delete them.

Dayne Dayne (57)

You probably already know how to use vim's basic undo and redo features. For a quick refresher, read this short tutorial on how to use vim redo and undo.