Skip to main content

Navigating Through VI Editor: Different Modes

The VI editor, a stalwart component in Unix and Unix-like systems, is renowned for its modal nature, providing a distinctive user interface that is conducive to efficient text manipulation. This article delves into the diverse modes of VI and elucidates the methods of transitioning between them, enabling users to harness the full potential of this venerable text editor.

Launching VI Editor

See The Welcome Screen

To see the welcome screen and not to start VI to edit a specific file, the following command can be used:

vi

Editing A File

To start working with VI, open your terminal and type vi followed by the filename you want to create or edit. If the file doesn't exist, VI will create it upon saving.

vi filename.txt

Introduction to VI Modes

VI primarily operates in three fundamental modes: Command Mode, Insert Mode, and Last Line Mode. Each mode serves a distinct purpose and grants the user different capabilities.

1. Command Mode

Purpose:

  • Command Mode is the default mode of VI, allowing users to navigate, delete, copy, paste, and execute other text manipulation commands.

Key Commands in Command Mode:

  • Navigation: h, j, k, l for left, down, up, and right, respectively, or the arrow keys.
  • Deletion: x to delete a character, dd to delete a line.
  • Search: /[text] to search forward, ?[text] to search backward.

Transitioning to Other Modes:

  • To Insert Mode: Press i to insert before the cursor, or a to append after the cursor.
  • To Last Line Mode: Press : to enter commands, search, save, or exit.

2. Insert Mode

Purpose:

  • Insert Mode enables users to insert text into the document.

Key Commands in Insert Mode:

  • Most keys will input the respective character, number, or symbol.
  • The Enter key will create a new line, and the Backspace key will delete the character before the cursor.

Transitioning to Other Modes:

  • To Command Mode: Press the Esc key to exit insert mode.
  • To Last Line Mode: You must first return to Command Mode by pressing Esc, then press :.

3. Last Line Mode

Purpose:

  • Last Line Mode is where users enter commands that pertain to the file as a whole, including saving, quitting, and searching/replacing across the entire file.

Key Commands in Last Line Mode:

  • Save: :w
  • Save and Quit: :wq
  • Quit without Saving: :q!
  • Search and Replace: :%s/old/new/g to replace all occurrences of "old" with "new".

Transitioning to Other Modes:

  • To Command Mode: Press Enter after executing a command or press Esc to cancel the command input.
  • To Insert Mode: You must first return to Command Mode by pressing Enter or Esc, then press i or a.

Conclusion

The VI editor, with its unique modal editing paradigm, offers a powerful and efficient text editing experience, once its learning curve is surmounted. By mastering the transitions between Command, Insert, and Last Line modes, users can swiftly navigate and manipulate text, optimizing productivity and ensuring effective text handling in varied Unix-based environments. The modal design of VI, while initially challenging, is a cornerstone feature that has sustained its relevance and utility in the ever-evolving landscape of text editors.

What Can You Do Next 🙏😊

If you liked the article, consider subscribing to Cloudaffle, my YouTube Channel, where I keep posting in-depth tutorials and all edutainment stuff for software developers.

YouTube @cloudaffle