Explain the usage and features of the ‘vi’ editor.
SOLUTION....
🔹 Brief Explanation of vi
Editor
The vi
editor is a powerful text editor in Linux/Unix systems. It is mainly used for creating and editing text files (like configuration files, scripts, and programs). It has two main modes:
Command Mode – for giving commands (delete, copy, paste, save, quit).
Insert Mode – for writing and editing text.
It is lightweight, fast, always available on Linux systems, and suitable for programmers and administrators.
🔹 Detailed Explanation of vi
Editor
1. Introduction
vi
stands for Visual Editor.It was developed by Bill Joy in 1976 for Unix.
It is almost always included in Linux and Unix distributions by default, making it a universal editor.
vi
is the basis of the improved version called Vim (Vi Improved).
2. Modes of Operation in vi
The most important concept in vi
is modes:
Command Mode (default mode when
vi
opens)Used to give commands like delete, copy, paste, search, save, and quit.
Keys pressed here are interpreted as commands, not text.
Insert Mode
Used to insert or modify text in the document.
Entered by pressing keys like
i
,a
, oro
.Exit back to Command Mode by pressing
Esc
.
Last Line Mode (Ex Mode)
Entered by typing
:
in Command Mode.Used for advanced commands like
:w
(save),:q
(quit),:wq
(save & quit), or:set nu
(show line numbers).
3. Basic Usage
Start
vi
editor:

(If the file exists, it opens it; if not, it creates a new one).
Switching modes:
i
→ insert before cursora
→ insert after cursoro
→ open a new line below cursorEsc
→ return to Command Mode
Saving and Quitting:
:w
→ save file:q
→ quit:wq
orZZ
→ save and quit:q!
→ quit without saving
4. Common Commands in vi
Command |
Function |
---|---|
x |
Delete a character |
dd |
Delete entire line |
yy |
Copy (yank) a line |
p |
Paste below cursor |
u |
Undo last change |
/word |
Search for a word |
n |
Repeat last search |
:set nu |
Show line numbers |
:set nonu |
Hide line numbers |
5. Features of vi
Editor
Lightweight and always available – comes by default with almost all Linux/Unix systems.
Modes-based editing – separates text entry from commands.
Fast and efficient – keystroke-based operations, no need for menus.
Powerful commands – supports search, replace, copy-paste, undo, repeat, etc.
Works in terminal – no need for a graphical interface.
Configurable – allows settings like showing line numbers, syntax highlighting (in Vim).
Universal use – useful for editing configuration files, scripts, and source code.
6. Advantages
Lightweight (runs even on minimal systems).
No mouse needed, works entirely from the keyboard.
Very stable and reliable.
Standard editor for system administrators.
7. Limitations
Steep learning curve for beginners.
Not as user-friendly as modern text editors.
Limited functionality compared to advanced editors (though Vim overcomes this).