Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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:

:+1d
share|improve this answer
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

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
1  
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

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

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.