Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
up vote 2 down vote accepted

Like this:

share|improve this answer

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

I strongly recommend reading this answer in stack overflow, which got over 500 upvotes: -- 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

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

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .