Search code examples
vim

How to delete every other line in Vim?


I would like to delete every other line from a Vim buffer, starting with the second one, i.e., lines 2, 4, 6, etc. For example, if the buffer’s contents is:

aaa
bbb
ccc
ddd
eee
fff

then, after the desired line removal, it should become:

aaa
ccc
eee

Which Vim commands can be used to automate this operation?


Solution

  • You can use a macro for this. Do the following.

    • Start in command mode.
    • Go to the beginning of the file by pressing gg.
    • Press qq.
    • Click arrow down and press dd after.
    • Press q.
    • Press 10000@q

    PS: To go to command mode just press Escape a couple of times.