How do I delete the next line in vim?
Solution 1
Like this:
:+1d
Solution 2
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:
- you don't need to hold
[Shift]
to enter the colon ':' and plus '+' characters, and - you don't need the implied
[Enter]
at the end of the sequence, sincejddk
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 ;-)
Solution 3
I strongly recommend reading this answer in stack overflow, which got over 500 upvotes: https://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...
Solution 4
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.
Related videos on Youtube
Comments
-
Jason Baker almost 2 years
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 anddd
to delete the entire line I'm on, but how do I delete all of the next line? -
intuited about 14 yearshjkl 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.
-
Chris W. Rea about 14 yearsThanks for pointing that out! Very thorough and informative answer about grokking vim and vi.