Advertisement
Advertisement


How can I quickly delete a line in VIM starting at the cursor position?


Question

I want to be able to delete the remainder of the line I'm on starting at the cursor's position in VIM. Is there an easy command to do this?

To help illustrate, this is before the command.

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

This is after the command

The q
     ^
     |----- Cursor is here.
2011/11/28
1
271
11/28/2011 1:28:26 PM

Accepted Answer

(Edited to include commenter's good additions:)

D or its equivalent d$ will delete the rest of the line and leave you in command mode. C or c$ will delete the rest of the line and put you in insert mode, and new text will be appended to the line.

This is part of vitutor and vimtutor, excellent "reads" for vim beginners.

2011/11/28
435
11/28/2011 6:08:54 PM

Use D. See docs for further information.

2011/11/28

You might also be interested in C, it will also delete the end of line like D, but additionally it will put you in Insert mode at the cursor location.

2011/11/28

Execute in command mode d$ .

2011/11/28

Press ESC to first go into command mode. Then Press Shift+D.

https://www.fprintf.net/vimCheatSheet.html

2017/08/29

This is a very old question, but as VIM is still relevant something should be clarified.

Every answer and comment here as of October 2018 has referred to what would commonly be known as a "cut" action, thus using any of them will replace whatever is currently in VIM's unnamed register. This register tends to be treated like a default copy/paste clipboard, so none of these answers will work as desired if you are deleting the rest of a line to paste something in the same place afterward, as whatever was just deleted will be subsequently pasted in place of whatever was yanked before.

The true delete command in the OP's context is "_D (or "_C if insert mode is desired) This sends the deleted content into the black hole register, designated by "_, where it will bother no one ever again (although you can still undo this action using u).

That being said, whatever was last yanked is stored in the 0 register, and even if it gets replaced in the unnamed register, it can still be pasted using "0p.

Learn more about the black hole register and registers in general for extra VIM fun!

2018/10/19

Source: https://stackoverflow.com/questions/8296473
Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Email: [email protected]