12

If I want to select particular text of line and delete lines, how can I do that in vi (give the simplest means)?

migrated from stackoverflow.com Aug 2 '10 at 8:56

This question came from our site for professional and enthusiast programmers.

14

You can also use V in view mode to launch "VISUAL LINE" mode. Select your lines and type d to delete them.

  • 3
    That is, Shift + V. – Zaz Aug 2 '10 at 12:40
  • What if V mode is not implemented (as in old Vi implementations?) – Campa Mar 15 '18 at 9:25
5

Move to the line you want to delete, either using the arrow keys or the j/k keys, and type dd. You can then save and exit by typing :x (or ZZ). A number can also be prefixed to dd to delete multiple lines, e.g. 3dd deletes 3 lines.

For more Vi commands, take a look at this handy Vi cheat sheet.

  • 1
    dd is the quickest way to delete a line. – Raptor Aug 2 '10 at 11:57
1

Another tip: if you want to delete a text paragraph, move to beginning of that paragraph with { and then type d}

Or, in other words, {d}

  • 2
    Or dap, delete a paragraph – grawity Aug 2 '10 at 9:54
  • @grawity: dap doesn't work for me in Vi. – Zaz Aug 2 '10 at 11:19
  • @Josh: 97% of the time, when someone says "vi", he either means "vim" or "vim running in vi-compatibility mode". So I suggested a vim-specific command (see also :help text-objects). – grawity Aug 2 '10 at 20:20
  • @grawity: Sorry, I am running Vim, but dap still has no effect. – Zaz Aug 2 '10 at 20:52
0

go to the first line you wish to delete, and type (in view mode) d[x-1] to delete x lines.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.