Open In App

The Six Modes of Vim Editor

Last Updated : 26 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Vim, short for “Vi Improved,” is a highly efficient and powerful text editor that is favored by many developers and system administrators. One of Vim’s distinguishing features is its unique approach to editing, which involves six distinct modes. Understanding these modes is crucial for mastering Vim and unleashing its full potential. In this article, we’ll explore each of the six modes in detail, providing examples and explanations to help you grasp their functionality.

1) Normal Mode in Vim Editor in Linux

In Vim, Normal mode is your starting point for navigating and controlling text. Unlike typical text editors, where keystrokes directly input characters, in Normal mode, you use keystrokes as commands to manipulate the text. Let’s break down some essential commands to make it more accessible:

Movement Commands

  • `h`, `j`, `k`, `l`: Think of these as your arrow keys. They move the cursor left, down, up, and right, respectively.
  • `w`, `b`: These commands allow you to leap between words. w moves you forward to the beginning of the next word, while b takes you backward to the start of the previous word.

Deletion Commands

  • `x`: Imagine this as a delete key. It erases the character under the cursor.
  • `dd`: This is like a cut command for the entire line. It deletes the current line.

Copy and Paste

  • `yy`: Picture this as a copy shortcut. It yanks (Vim’s term for copy) the current line.
  • `p`: After using yy or a similar copy command, p pastes the content after the cursor.

In a nutshell, Normal mode is where you “drive” Vim, using concise commands to zip around and manipulate your text efficiently. You’ll find yourself seamlessly gliding through lines, words, and characters with these commands, enhancing your text-editing prowess in no time.

2) Insert Mode in Vim Editor in Linux

Insert Mode in Vim is where the magic happens – it’s the space where you actively insert and manipulate your text. Transition into Insert Mode by pressing i while in Normal Mode. Let’s explore the various commands and techniques available in Insert Mode:

Entering Text:

  1. Press `i` to Insert Before Cursor:
    • By hitting `i`, you position the cursor to the left of your current location, allowing you to insert text at that point.
  2. Press `a` to Append After Cursor:
    • The `a` command shifts the cursor one position to the right, enabling text insertion after the current cursor location.
  3. Press `I` to Insert at the Beginning of Line:
    • Use `I` to move the cursor to the first non-blank character of the line, facilitating text insertion at the line’s beginning.
  4. Press `A` to Insert at the End of Line:
    • The `A` command places the cursor at the end of the current line, letting you add text at the line’s conclusion.

3) EX Mode in Vim Editor in Linux

Ex mode, an integral part of Vim, provides a powerful platform for executing advanced commands with a focus on line-oriented operations.

Entering Ex Mode:

To enter Ex mode, transition from Normal mode by pressing `esc` key then by typing: This prompts Vim to await your command.

Moving to a Specific Line:

:23


Executing this command swiftly moves the cursor to line 23 in your document. This feature is particularly useful when dealing with large files or when you need to navigate to a specific section quickly.

Deleting Multiple Lines:

:7,12d


This command is a powerful tool for bulk text manipulation. It deletes lines 7 to 12 inclusive, streamlining the editing process when removing or rearranging content in your document.

Saving and Quitting in Ex Mode:

:wq


When your editing session is complete, the :wq command efficiently saves your changes and exits Vim. This is a concise way to wrap up your work.

Additional Tips:

  • To quit without saving changes, you can use :q!.
  • For saving without quitting, simply type :w.

4) Visual Mode in Vim Editor in Linux

Visual mode in Vim empowers users to precisely select and manipulate text, offering flexibility in the types of selections made. Activated from Normal mode by pressing v, Visual mode provides several options for tailored text selection.

Basic Commands:

Character-wise Visual Mode:

v


Initiate character-wise Visual mode by pressing v. This enables you to make selections on a per-character basis, facilitating granular text manipulation.

Line-wise Visual Mode:

V

Press `V` in Normal mode to enter line-wise Visual mode. This allows for the selection of entire lines, streamlining operations that involve bulk manipulation or copying.

Block-wise Visual Mode:

Ctrl + v

For a more intricate selection approach, use Ctrl + v to enter block-wise Visual mode. This mode enables the creation of rectangular selections, particularly useful when dealing with tabular data or columns.

Performing Operations:

Once text is selected in Visual mode, various operations can be executed to modify the content. Common actions include:

  • Copying Selected Text:
    • After selection, press y to copy (yank) the text.
  • Cutting Selected Text:
    • Press d to cut the selected text.
  • Replacing Selected Text:
    • After selection, type to replace the highlighted text with new input.

5) Command-Line Mode in Vim Editor in Linux

Command-Line mode is for executing complex commands and performing various tasks.

Examples:

  • Saving and Quitting:
    • `:w`: Save the current file.
    • `:q`: Quit Vim.
    • `:wq` or `😡`: Save and quit.
  • Search and Replace:
    • `:s/old/new/g`: Replace all occurrences of ‘old’ with ‘new’ in the current line.

Command-Line mode offers a powerful set of commands for efficient file manipulation and editing.

6) Replacing Mode in Vim Editor in Linux

Replace mode in Vim provides a focused environment for substituting existing text with new content, ensuring a seamless and controlled editing process.

Basic Commands:

Replace Single Character:

Press R

Initiate the replacement process by pressing R. This allows you to replace the character under the cursor and subsequent characters as you type. Ideal for fine-tuning specific portions of your text.

Replace Multiple Characters:

Use r followed by the desired character

For more granular control, use r followed by the character you want to replace the current one with. This approach lets you swiftly modify individual characters without entering a dedicated mode.

Example:

  • Enter Replace Mode:
    • Press R in Normal mode to enter Replace mode.
  • Perform Replacement:
    • Begin typing to replace the existing characters under the cursor. The replacement occurs in real-time, providing instant feedback.

Replace mode is a valuable asset when you need to make precise changes to your text without the need for extensive editing. As you integrate Replace mode into your Vim workflow, you’ll discover its efficiency in handling targeted replacements with ease.

Conclusion

In this article we discussed Vim, the “Vi Improved” text editor which offers a robust editing experience through its six distinctive modes. From Normal mode’s navigation commands to Insert mode’s active text manipulation, and EX mode’s advanced line-oriented operations, Vim caters to diverse editing needs. Visual mode enhances precision in text selection, Command-Line mode handles complex commands, and Replace mode enables controlled text substitution. As users master these modes, Vim becomes a versatile tool, providing unparalleled efficiency and control for text editing.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads