The vi
editor (visual editor) is the default text editor in many UNIX and UNIX like
Operating Systems including Linux. vi editor is an advanced text editor with
many features.
vi editor
and has two modes of operation:
• Command
mode: In command mode, commands can be issued to the vi editor which cause
action to be taken on the file.
• Insert
mode: In insert mode the file can be edited.
File
opening, closing and exit commands
• To open a
file - vi filename (If the file is not existing, new file can be created)
• To recover
the file from a crash run vi -r filename
•To go to
insert mode, use the command "i" or "a" (the characters
typed in will be inserted after the current cursor position).
• To go back
from insert mode to command mode in vi editor type "Esc".
• To Exit vi
editor (from the command mode of the vi editor run the following commands)
Command
|
Description
|
:x
<Return>
|
quit
vi editor, with writing out modified file to disk.
|
:wq<Return>
|
quit
vi editor, with writing out modified file to disk.
|
:q<Return>
|
quit
(or exit) vi editor
|
:q!<Return>
|
quit
vi editor even though latest changes have not been saved
|
:w
file
|
vi
editor will write file as file, leaving original untouched
|
Moving
the cursor in vi editor
Command
|
Description
|
j or
down-arrow
|
move
cursor down one line in vi editor
|
k or
up-arrow
|
move
cursor up one line in vi editor
|
h or
left-arrow
|
move
cursor left one character in vi editor
|
l or
right-arrow
|
move
cursor right one character in vi editor
|
0
(zero)
|
move
cursor to start of current line in vi editor
|
$
|
move
cursor to end of current line in vi editor
|
W
|
move
cursor to beginning of next word in vi editor
|
B
|
move
cursor back to beginning of preceding word in vi editor
|
:0<Return>
or 1G
|
move
cursor to first line in file in vi editor
|
:n<Return>
or nG
|
move
cursor to line n in vi editor
|
:$<Return>
or G
|
move
cursor to last line in file in vi editor
|
Screen
Movement Commands in vi editor
Command
|
Description
|
z+
|
move
current line to top of screen in vi editor
|
z
|
move
current line to the middle of screen in vi editor
|
z-
|
move
current line to the bottom of screen in vi editor
|
^f
|
move
forward one screen in vi editor
|
^b
|
move
backward one screen in vi editor
|
^d
|
move
down (forward) one half screen in vi editor
|
^u
|
move
up (back) one half screen in vi editor
|
^l
|
redraws
the screen in vi editor
|
Cut,
Copy and Paste operation commands in vi editor
Command
|
Description
|
x
|
delete
single character; nx deletes n characters (n – any number) in vi editor
|
X
|
deletes
the character to the left of your cursor in vi editor.
|
Dw
|
delete
word; ndw deletes n words (n – any number) in vi editor
|
Dd
|
delete
line; ndd deletes n lines (n – any number) in vi editor
|
Cw
|
delete
word and start in insert mode (i.e. change word) in vi editor
|
Cc
|
delete
line and start insert mode (change line) in vi editor
|
S
|
delete
character and start insert mode (change character) in vi editor
|
D
|
delete
the remainder of the line, starting with current cursor position in vi editor
|
Yy
|
copy
(yank, cut) the current line into the buffer; nyy copy (yank, cut) the next n
lines (n – any number) in vi editor
|
Yw
|
Copy a
word; nyw copies n words (n – any number) in vi editor
|
Other
Useful commands in vi editor
Command
|
Description
|
Guu
|
Convert
complete line to Lower-case in vi editor
|
gUU
|
Convert
complete line to Upper-case in vi editor
|
U
|
Undo
last change in vi editor
|
^r
|
redo
in vi editor
|
/text
|
Search
for text (forwards) in vi editor
|
/
|
Repeat
forward search in vi editor
|
?text
|
Search
for text (backwards) in vi editor
|
?
|
Repeat
previous search backwards in vi editor
|
:.=
|
returns
line number of current line at bottom of screen in vi editor
|
:=
|
returns
the total number of lines at bottom of screen in vi editor
|