Open In App

How to Delete Multiple Lines in vim Editor in Linux

Last Updated : 09 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Vim Editor is a Linux terminal-based editor that has various advanced features for editing, but due to its terminal behavior, it is quite difficult to handle some of the operations in Vim. While making a text file, we often need to delete some unwanted lines. If the document consists of more unwanted lines, then deleting them one by one will be a time-consuming task, but in Vim we can delete multiple lines easily by different approaches. In this article, we will all the ways to delete multiple lines, and also we will see some more steps to delete a range of lines, delete an entire lines of the file, and also we will see the regular expression-based deletion of lines.

How to Delete Multiple Lines in Vim Editor?

In this section, we will see how we can delete entire lines from Vim Editor in a single go rather than deleting them one by one. So to delete all lines in Vim Editor, follow the below-specified steps:

Step 1: In the first step, we need to open the document in the Vim editor for usage using the below command. After executing the command the file will get opened in the editor on the terminal itself.

vim file.txt
Opening File in Vim

Opening File in Vim

Step 2: After opening the file, we need to press the ‘ESC‘ key on our keyboard to switch from the insert mode to the edit mode.

Switching from Insert to Edit (Command) Mode

Switching from Insert to Edit (Command) Mode

Step 3: After switching to the Edit Mode, we need to enter the command through which we can remove or delete all lines from the Vim Editor. Type the below command and hit Enter on the keyboard.

:%d
Entering Delete Command

Entering Delete Command

Step 4: After hitting enter, we can see that entire lines from the document or file will get deleted in a single go rather than deleted one by one.

All Lines Deleted

All Lines Deleted

How to Delete a Range of Lines in Vim Editor?

In this section, we will see how we can remove or delete the specific range of lines in Vim Editor. Follow the below-described steps to delete the range of lines.

Step 1: After opening the file in the Vim Editor, we need to use the ‘ESC‘ key to switch from the Insert mode to the Edit Mode.

Opening Vim in Edit Mode

Opening Vim in Edit Mode

Step 2: After switching to the edit mode, we need to enter the command through which we can delete the specific range of lines.

:3,8d
Entering Range of Lines to Delete

Entering Range of Lines to Delete

Step 3: After entering this command and hitting the Enter Key, we can see that the specified range of lines from the document has been successfully deleted.

Range of Lines Deleted

Range of Lines Deleted

How to delete multiple lines in the Vim editor?

In this section, we will see how we can remove the multiple consecutive lines from the Vim Editor. Follow the below steps to delete multiple lines in Vim Editor.

Step 1: After opening the document in the Vim editor, we need to enter the Visual Mode by pressing the key Shift + V on the Keyboard.

Vim Editor Opened in Visual Mode

Vim Editor Opened in Visual Mode

Step 2: Then we need to select the lines using the up and down keys of the keyboard.

Lines Selected to be deleted

Lines Selected to be deleted

Step 3: After selecting the lines, we need to press the ‘d‘ key on the keyboard to delete the selected line permanently from Vim Editor.

Pressed d key to delete multiple lines

Pressed the d key to delete multiple lines

How to delete the line with a custom pattern in the Vim editor?

In this section, we will see the regular expression used to delete the line from Vim Editor. As Vim is an advanced editor, we can use the custom pattern to delete the lines as per our customization.

Step 1: After opening the file in the Vim Editor, we need to press the ‘ESC‘ key on the keyboard to change the mode from Insert to Edit mode.

Switched from Insert to Edit Mode

Switched from Insert to Edit Mode

Step 2: Now we need to enter the pattern through which the deletion will be done. In the below command, we have given the pattern through which the lines will be deleted that contains the word ‘Ubuntu‘.

:g/Ubuntu/d
Entered Custom Pattern to Delete Lines containing Ubuntu Word

Entered Custom Pattern to Delete Lines containing Ubuntu Word

Step 3: After entering the command and hitting the Enter key, the lines containing the word Ubuntu will get deleted from the document.

Lines Deleted consisting Ubuntu Word

Lines Deleted consisting of Ubuntu Word

Additional Deletion Custom Pattern in Vim Editor

In this section, we will see more additional deletion custom patterns in Vim Editor to delete the lines in Vim Editor.

Pattern 1: Delete All Lines except Line Containg Specific Word

Step 1: If we want to delete all lines except the line containing the specific word then we can use the below pattern. For example, we will delete all lines except the lines containing the “Ubuntu” word.

:g!/Ubuntu/d
Delete all lines except Ubuntu word containing lines

Delete all lines except Ubuntu word containing lines

Step 2: After executing this pattern the lines except the lines containing Ubuntu words will get deleted.

Lines deleted except lines consisting Ubuntu word

Lines deleted except lines consisting of Ubuntu word

Pattern 2: Deleting Lines that Begin with Specific Letter

Step 1: If we need to delete the lines that begin with the specific letter, we can use the below pattern in Vim Editor.

:g /^T/d
Deleting lines starting with letter 'T'

Deleting lines starting with the letter ‘T’

Step 2: This pattern will delete all the lines that start with the letter ‘T‘ in the entire document.

Lines deleted starting with 'T' letter

Lines deleted starting with the ‘T’ letter

Pattern 3: Deleting all Blank Lines

Step 1: Using this pattern we can delete all the blank lines that are present in our document. We just need to use the below-mentioned pattern.

:g /^$/d
Blank Lines in File

Blank Lines in File

Step 2: Enter the command to delete the black lines from the document.

Entering Command to Delete Blank Lines

Entering Command to Delete Blank Lines

Step 3: After hitting the “Enter” key all the blank lines will be removed.

Blank Lines Deleted

Blank Lines Deleted

How to Delete Multiple Lines in vim Editor in Linux – FAQs

How can I delete a range of lines in Vim?

:<tart_line_number>,<end_line_number>d
:10,20d

To delete a range of lines in Vim, you can use the following command:For example, to delete lines 10 to 20, you would type:

Is there a way to delete all lines containing a specific pattern in Vim?

:g/<pattern>/d
:g/example/d

Yes, you can delete all lines containing a specific pattern by using the following command:Replace <pattern> with the specific text or regular expression you want to match. For example, to delete all lines containing the word “example”, you would type:

Can I delete every nth line in Vim?

:<start_line_number>,<end_line_number>g/<pattern>/d
:1,$~3d

Yes, you can delete every nth line in Vim using the following command:Replace <pattern> with a regular expression matching every nth line. For example, to delete every third line, you would type:

How do I delete multiple non-consecutive lines in Vim?

To delete multiple non-consecutive lines in Vim, you can use visual mode. Start by pressing v to enter visual mode, then move the cursor to select the lines you want to delete, and finally press d to delete them.

Is there a shortcut to delete consecutive lines in Vim?

<number_of_lines>dd
5dd

Yes, you can delete consecutive lines in Vim using the following shortcut:Replace <number_of_lines> with the number of consecutive lines you want to delete. For example, to delete the next 5 lines, you would type:

Conclusion

In conclusion, the deletion operation in Vim Editor consists of various combinations of commands and navigations. We can use different modes like Visual Mode, and Command Mode to delete the lines from the file. Along with this, the custom patterns also also useful for deleting the lines that satisfy the given input pattern, We can delete the lines according to the range, and specific word consisting lines, and also using the pattern, we can delete the blank lines from the file. This allows ease for the user to manage the lines and code inside the file.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads