Introduction
The command line is a powerful tool for interacting with your computer, and for many Linux and Unix users, vi is a text editor of choice. vi is a modal text editor with a steep learning curve, but once you get the hang of it, you’ll find it’s an indispensable tool. In this blog post, we will explore 10 essential vi commands to help you navigate and edit text files efficiently.
1. Opening a File
To open a file using vi, open your terminal and type:
vi filename
Replace “filename” with the name of the file you want to open.
2. Switching Modes
vi operates in two modes: Normal and Insert. In Normal mode, you can navigate and manipulate text, while in Insert mode, you can insert and edit text. To switch from Normal mode to Insert mode, press i
. To go back to Normal mode, press Esc
.
3. Saving Changes
To save your changes in vi, make sure you’re in Normal mode, and then type:
:w
4. Quitting vi
To quit vi, ensure you’re in Normal mode and then type:
:q
To save your changes and quit, type:
:wq
5. Navigating Text
In Normal mode, you can navigate text using the arrow keys, h
for left, j
for down, k
for up, and l
for right. You can also use various other commands to move more efficiently.
6. Deletion
In Normal mode, you can delete characters, words, or entire lines. For example, to delete the character under the cursor, press x
. To delete a word, use dw
, and to delete a whole line, type dd
.
7. Undo and Redo
If you make a mistake, you can undo your last action by pressing u
in Normal mode. To redo an undone action, press Ctrl
+ r
.
8. Copy and Paste
To copy text in vi, yank it using y
. For example, to copy a line, press yy
. To paste the yanked text, use p
(paste after cursor) or P
(paste before cursor).
9. Searching Text
To search for text, press /
in Normal mode and type the search term. Vi will jump to the first occurrence. To find the next occurrence, press n
, and to go back, press N
.
10. Replacing Text
To replace text in vi, press :
to enter command mode and then type:
:%s/old_text/new_text/g
This command replaces all occurrences of “old_text” with “new_text” in the entire document.
Conclusion
vi may seem intimidating at first, but once you become familiar with these essential commands, you’ll be well on your way to mastering this powerful text editor. As you continue to use Vi, you’ll discover even more advanced commands and shortcuts that can further improve your efficiency on the command line. Happy editing!