NashTech Insights

How to Master the Unix Vi Editor for Text Editing

Rahul Miglani
Rahul Miglani
Table of Contents
photo of women at the meeting

In the world of Unix and Linux, the Vi editor is an iconic tool that has been a staple for text editing and manipulation for decades. While it might seem daunting at first, mastering the Vi editor can greatly enhance your productivity and efficiency when working within a Unix terminal. In this comprehensive guide, we will unravel the intricacies of the Vi editor, providing you with the skills and knowledge needed to become a proficient user.

Table of Contents:

  1. Understanding the Vi Editor
    • Brief History
    • Modes of Vi
  2. Navigating Within Vi
    • Basic Movement
    • Word and Line Navigation
    • Scrolling and Searching
  3. Editing Text in Vi
    • Insert and Append Modes
    • Deleting Text
    • Copying and Pasting
  4. Saving and Exiting
    • Saving Changes
    • Quitting Vi
  5. Advanced Editing Techniques
    • Replacing Text
    • Undo and Redo
    • Using Registers
  6. Customizing Vi
    • Setting Preferences
    • Mapping Keybindings
  7. Tips and Tricks
    • Multiple Files in Vi
    • Splitting Windows
    • Command-line Execution

Understanding the Vi Editor

Brief History: Vi, short for “Visual Editor,” was developed in the 1970s as a successor to the earlier “ex” text editor. Over time, Vi has become the de facto standard for text editing on Unix-like systems.

Modes of Vi: Vi operates in three primary modes: Normal mode, Insert mode, and Command-line mode. Each mode serves a specific purpose, and understanding how to transition between them is crucial for efficient text editing.

Navigating Within Vi

Basic Movement: In Normal mode, you can navigate through the text using the arrow keys or “h,” “j,” “k,” and “l” keys for left, down, up, and right movements, respectively.

Word and Line Navigation: Use “w” to move to the beginning of the next word, “b” to move to the beginning of the previous word, “0” (zero) to move to the beginning of the line, and “$” to move to the end of the line.

Scrolling and Searching: To scroll, use “Ctrl” + “u” to scroll up and “Ctrl” + “d” to scroll down. For searching, press “/” followed by the search term and press “Enter.”

Editing Text in Vi

Insert and Append Modes: Press “i” to enter Insert mode and start typing text. To append text after the cursor, press “a.” To insert text before the cursor, press “I” (capital i).

Deleting Text: In Normal mode, use “x” to delete the character under the cursor. Press “dd” to delete the entire line.

Copying and Pasting: Copying involves yanking text using commands like “yy” (yank line) or “yiw” (yank inner word). To paste, use the “p” command.

Saving and Exiting

Saving Changes: In Normal mode, use “:w” to save changes to the file. To save and quit, use “:wq.”

Quitting Vi: To quit without saving changes, use “:q!” in Normal mode. To quit and save, use “:x” or “:wq.”

Advanced Editing Techniques

Replacing Text: In Normal mode, position the cursor over the character you want to replace and press “r” followed by the replacement character.

Undo and Redo: Press “u” to undo the last action and “Ctrl” + “r” to redo an action.

Using Registers: Registers allow you to copy and paste text between different parts of the document. Use “yy” to yank text into the default register and “p” to paste.

Customizing Vi

Setting Preferences: Create a “.vimrc” file in your home directory to set preferences and customize Vi’s behavior, such as enabling line numbers or defining key mappings.

Mapping Keybindings: You can create custom keybindings in the “.vimrc” file to streamline your workflow and make Vi more tailored to your preferences.

Tips and Tricks

Multiple Files in Vi: Firstly, Open multiple files by launching Vi with multiple file names as arguments. Use “:n” to switch to the next file.

Splitting Windows: Secondly, Vi supports split window views. Use “:split” to split the window horizontally and “:vsplit” to split it vertically.

Command-line Execution: Finally, While in Normal mode, you can execute shell commands by prefixing them with “!”.


Lastly, Mastering the Unix Vi editor might take time and practice, but the skills you gain are incredibly valuable. With the ability to navigate, edit, and manipulate text efficiently, you’ll find that the Vi editor becomes an indispensable tool for your Unix journey.

Finally, By following the techniques and concepts outlined in this guide, you’ll be well on your way to becoming a proficient Vi user, empowering you to tackle text editing tasks with confidence and finesse.

Rahul Miglani

Rahul Miglani

Rahul Miglani is Vice President at NashTech and Heads the DevOps Competency and also Heads the Cloud Engineering Practice. He is a DevOps evangelist with a keen focus to build deep relationships with senior technical individuals as well as pre-sales from customers all over the globe to enable them to be DevOps and cloud advocates and help them achieve their automation journey. He also acts as a technical liaison between customers, service engineering teams, and the DevOps community as a whole. Rahul works with customers with the goal of making them solid references on the Cloud container services platforms and also participates as a thought leader in the docker, Kubernetes, container, cloud, and DevOps community. His proficiency includes rich experience in highly optimized, highly available architectural decision-making with an inclination towards logging, monitoring, security, governance, and visualization.

Leave a Comment

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

Suggested Article

%d bloggers like this: