delete line in vi

How can I delete a line in VI?

Here what I am doing right now:

  1. Open up the terminal alt + ctrl + t
  2. vi a.txt
  3. I move my cursor to the line which I wan to delete, then what key-combination is should use to delete line in vi editor?
Asked By: I-M-JM


Pressing dd will remove that line (actually it will cut it). So you can paste it via p.

Answered By: Gert

To delete the line under the cursor, use dd.

The delete command accepts all the normal positional modifiers, so if you are on the beginning of the line below the one you want to delete, you could just dk to go into delete mode and move up one line, deleting everything the cursor passed.

You can also specify repetition, so 5dd will delete the line under the cursor five times, effectively deleting the current and following four lines.

Answered By: Caleb

As others said, it’s dd if you’re in normal mode (press ESC) to ensure you are in normal mode, but by default, you will be. You may have found that vi doesn’t act as you would expect an editor to act. It’s pretty unique, and those unique features make it extremely powerful and fast to work with. If you want to learn more, you can run vimtutor at the command line, and you’ll get a quick (maybe an hour worth of reading/experimenting) tutorial on the basics of how to use it.

Now, you can use an editor with a more familiar interface. Most systems have nano. You can type nano a.txt to open your file in nano. You can even go a step further – there isn’t any reason you have to use a terminal-based editor. Since you mentioned using (Ctrl+Alt++T) and this is the default shortcut in Ubuntu and some other Gnome distributions, so I’d be surprised if you didn’t have gedit installed. At the command line, try gedit a.txt and you’ll get a graphical editor.

Answered By: Shawn J. Goff

Esc dd after going to the line you want to delete

Answered By: Anoop

In visual mode,

shift+v, choose the lines, then d

ctrl+v, choose the columns, then d

Answered By: Ben
  • dd delete (cut) a line and stay in the COMMAND mode.
  • S delete (cut) a line and go to the INSERT mode.
Answered By: Yas

If you want to delete all lines containing a pattern, use g/pattern/d, for example:

Answered By: gerrit
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.