Take the 2-minute tour ×

In emacs, whenever I want to delete a few lines of text, I just use C-k until all the text is gone. However, in vim it seems a bit more complex. I know I can do d$ to delete until the end of the line and dd to delete the entire line I'm on, but how do I delete all of the next line?

share|improve this question
add comment

5 Answers

up vote 3 down vote accepted

Like this:

share|improve this answer
add comment

Assumption: You want to end up at the line you started on.

My answer: jddk

  • j (moves down)
  • dd (deletes current line)
  • k (moves up)

Try it – it's quick! In fact, it's two keystrokes less than the currently accepted answer because:

  1. you don't need to hold [Shift] to enter the colon ':' and plus '+' characters, and
  2. you don't need the implied [Enter] at the end of the sequence, since jddk is entered all in visual mode as opposed to command mode.

Plus, jddk is all on home row of the keyboard.

I spent a long time using h, j, k, l to navigate in vi, long before the terminal emulation software I used started supporting arrow keys. (I'm talking about ~20 years ago ;-)

share|improve this answer
hjkl is faster anyway. I've never used a keyboard that didn't have arrow keys on it, and I began to greatly value the efficacy of these keymappings about 10 minutes after I stopped being annoyed at the unintuitiveness of them. –  intuited Apr 17 '10 at 22:44
add comment

I strongly recommend reading this answer in stack overflow, which got over 500 upvotes: http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118 -- the answer is long, but helps to understand why vim is powerful...

share|improve this answer
Thanks for pointing that out! Very thorough and informative answer about grokking vim and vi. –  Chris W. Rea Apr 20 '10 at 0:11
add comment

You may also be interested in visual mode. Just use v to enter and y to yank or d to delete. Checking :help is a great place when you're stuck as well. For instance :help delete will give you the manual for most of the usual delete commands.

share|improve this answer
add comment

If you want to delete a bunch of lines in a row, you can use dd to delete the line you're on, then keep hitting (or hold down) . (period) to repeat the command.

share|improve this answer
or type Ndd where N is the number of lines to delete. say, to delete the current line and the next two lines (3 total), type 3dd –  quack quixote Apr 17 '10 at 10:42
add comment

Your Answer


