vi/vim editor FAQ: Can you share some example vi/vim delete commands?
The vi editor can be just a little difficult to get started with, so I thought I’d share some more vi commands here today, specifically some commands about how to delete text in vi/vim. (vim is the modern version of the older vi.)Back to top
vi/vim delete commands - reference
A lot of times all people need is a quick reference, so I’ll start with a quick reference of vi/vim delete commands:
x - delete current character dw - delete current word dd - delete current line 5dd - delete five lines d$ - delete to end of line d0 - delete to beginning of line :1,.d delete to beginning of file :.,$d delete to end of file
If those commands don’t make sense on their own, the next sections will provide a brief description of each vi delete command.Back to top
vi delete character command
When you’re in “command mode” in the vim editor (just hit the [Esc] key and you’ll be there) and you want to delete the character at the current cursor position, just use the vim delete character command -- the lowercase letter
x -- like this:
That command deletes the character at your current cursor position. If instead you want to delete ten characters, you can press the letter
x ten times, or you can use this command instead:
10xBack to top
vi delete word commands
When you’re in command mode in the vi editor and you want to delete the current word, use the vi delete word command:
Just like the delete character command, if you want to delete the next five words, just precede the
dw command with the number 5, like this:
5dwBack to top
vi delete line commands
When you’re in command mode in the vi editor and you want to delete the current line, use the vi delete line command:
Just like the delete character and delete word commands, if you want to delete the next five lines, just precede the
dd command with the number 5, like this:
delete to end of line or beginning of line
To delete all the characters from your current cursor position to the beginning of the current line, use the
d0 command, like this:
Similarly, to delete from your current cursor position to the end of the current line, use the
d$ command, like this:
Whenever you’re working with vi, the letter
0 (zero) typically refers to the beginning of the current line or the beginning of the file, and the
$ character typically refers to the end of the current line or end of file, so I find these commands fairly easy to remember.
delete to beginning or end of file
To delete all the lines from the beginning of the file to your current cursor position in vim, use this command:
That command can be read as “From line 1 to the current position, delete”, or if you prefer, “Delete from line 1 to the current line position.”
Similarly, to delete everything from the current line to the end of the file, use this vim delete command:
Again, that can be read as “From the current position to the end of file, delete.”Back to top
My vi/vim delete video tutorial
If you’d like to see many of these vi/vim delete commands put to work, I’ve created this vi/vim delete commands video tutorial on YouTube.Back to top
vi/vim delete commands - summary
I hope these vi/vim delete commands have been helpful. If you have any questions, comments, or other vi commands you’d like to share, just use the comment form below.
Thanks for the vi tips.
Cheers for these deletion tips, I couldn't work out how to delete everything (current line down).
5 Stars for deleting shortcut :)
Thank's Alvin !
A shortcut for this:
but I don't know if there is a shortcut for :1,.d
Great tips. Just helped save me a lot of time while looking through some log files. Was able to delete all the junk and just keep what mattered.
As mentioned above:
# can be
# can be
As an explanation:
G is the command to go to the end of the file and
gg is the command to go to the beginning of the file. For me these are easier to remember as they use the same commands as I use for document navigation.