Search This Blog

Create, view, and edit text files

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