How to Delete Line in VIM on Linux

delete lines vim editor linux

How to delete lines from Vim? How to delete ranges of lines? How to delete lines by a given pattern? Let's cover in this article different ways to delete lines in Vim editor.

    1. Delete a single line
    2. Delete all lines
    3. Delete multiple lines
    4. Delete a range of lines
    5. Delete lines by a given pattern

Install Vim in Ubuntu/Debian distributions

# sudo apt install vim

Install Vim in RHEL/CentOS distributions

# yum install vim

1) Delete a single line

To delete a single line in Vim editor, follow the steps below

  1. Place the cursor to the beginning of the line
  2. Press the ESC key.
  3. Next, press dd  i.e quick press letter ' d '  twice in quick succession.

In the example below, pressing dd at the beginning of line 6 as shown below will delete the entire line.

delete lines in vim command

2) Delete all lines

Below are the two ways to delete all lines.

:1,$d

or

:%d

3) Delete multiple lines

To delete multiple lines

  1. place the cursor at the beginning of a line.
  2. Prefix the dd command with the number of lines you want to delete below it. For example, if you want to delete 3 consecutive lines below line 3 press
    # 3dd

delete lines in vim

4) Delete a range of lines

If you want to delete a range of lines, say from line 3 to line 5, the syntax is as shown below

:[start_line_no],[end_line_no]d

In this case, Press ESC  Then type the command below and hit Enter.

:3,5d

To delete the last line

:$d

To delete all lines before the current line

:1,.-1d

To delete all lines after the current line

:.+1,$d

5) Delete lines by a given pattern

Finally, you can delete lines following a given pattern.

For instance,  to delete lines that contain a certain word, press ESC and run

:g /word/d

In our case, to delete lines that contain the word "lazy"

:g /lazy/d

To delete every line that doesn't contain the word "lazy"

:%g!/lazy/d
or
:v/lazy/d

To delete lines that begin with a certain letter, say 'A'

:g/^A/d

If you want to delete lines that begin with a special character like $ sign, prefix the character with a backslash as shown

:g/^\$/d

To get rid of all blank lines

:g/^$/d

Do you have any tips to delete vim lines? Hope this article helped you and please leave your comments.

Read Also:

Winnie Ondara 6:56 am

About Winnie Ondara

I’m Winnie, a passionate Linux administrator and an open source enthusiast. I enjoy keeping myself up to date with the latest in the Linux world and trying out the latest tools, features and services in the FOSS community.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.