How to Delete Line in Vim on Linux?

Vim (Vi IMproved) is one of the most popular text editors used in the Linux environment. It is a command-line based editor that was initially developed as a free and open-source alternative to the widely-used Vi editor. However, Vim has evolved to be much more than just an alternative.

It has become an indispensable tool for programmers, system administrators, and power users who work with text files regularly. One of the primary reasons why Vim is so important for Linux users is its efficiency and flexibility. Unlike traditional graphical user interface (GUI) editors, Vim focuses on quick navigation and editing through keyboard shortcuts, making it ideal for those who prefer working on the command line or those who want to optimize their workflow.

Basic Navigation Commands

Before learning to delete lines, it's essential to understand basic movement in Vim. The fundamental navigation keys are:

  • h Move cursor left

  • j Move cursor down

  • k Move cursor up

  • l Move cursor right

  • G Jump to end of file

  • gg Jump to beginning of file

For faster navigation, use Ctrl+F to scroll forward one page and Ctrl+B to scroll back one page. To search within files, use / followed by your search term to search forward, or ? to search backward.

Basic Line Deletion Methods

Deleting lines in Vim is a fundamental operation that every user should master. Here are the primary methods:

Using the dd Command

The dd command is the most straightforward way to delete a line:

  1. Open your file: vim filename.txt

  2. Navigate to the line you want to delete using j/k or arrow keys

  3. Type dd to delete the entire line

  4. The line is removed and subsequent lines move up

Using Visual Mode

Visual mode allows you to select and delete multiple lines at once:

  1. Position cursor on the first line to delete

  2. Press Shift+V to enter Visual Line mode

  3. Move cursor down to select additional lines

  4. Press d to delete all highlighted lines

Advanced Line Deletion Techniques

Deleting Multiple Lines

To delete multiple consecutive lines efficiently:

5dd     # Delete 5 lines starting from current line
3dd     # Delete 3 lines starting from current line

Deleting Lines Based on Patterns

Use Ex-mode commands to delete lines matching specific criteria:

:g/pattern/d        # Delete all lines containing "pattern"
:g/^$/d            # Delete all empty lines
:g/^#/d            # Delete all lines starting with #
:%g/TODO/d         # Delete all lines containing "TODO"

Range-Based Deletion

Delete lines within specific ranges:

:5,10d             # Delete lines 5 through 10
:.,$d              # Delete from current line to end of file
:1,5d              # Delete lines 1 through 5

Quick Reference Commands

Command Action
dd Delete current line
5dd Delete 5 lines from cursor
D Delete from cursor to end of line
dG Delete from cursor to end of file
dgg Delete from cursor to beginning of file
:5,10d Delete lines 5 to 10

Tips and Tricks

Using Macros for Repetitive Deletion

Record a macro to automate repetitive line deletion tasks:

  1. Press qa to start recording macro 'a'

  2. Perform your deletion sequence (e.g., dd to delete line, j to move down)

  3. Press q to stop recording

  4. Use @a to replay the macro, or 10@a to repeat 10 times

Undoing Accidental Deletions

If you accidentally delete lines, use u to undo the last change, or Ctrl+R to redo. Vim maintains an undo history, so you can undo multiple operations.

Conclusion

Mastering line deletion in Vim significantly improves your text editing efficiency on Linux systems. From basic dd commands to advanced pattern-based deletion, these techniques form the foundation of productive Vim usage. Practice these methods regularly to develop muscle memory and enhance your command-line productivity.

Updated on: 2026-03-17T09:01:38+05:30

20K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements