VI Editor Commands: Text Editor

Vi has two modes insertion mode and command mode.
The editor begins in command mode, where cursor movement and copy/paste editing occur.

Most commands execute as soon as typed except for "colon" commands which execute when you press the return key.
Switch to Text or Insert mode:


 
 
Open line above cursor
O
 
 
 
 


Insert text at beginning of line
I
Insert text at cursor
i
Insert text after cursor
a
Append text at line end
A


 
 
Open line below cursor
o
 
 
 
 


Switch to Command mode:


Switch to command mode
<ESC>


Cursor Movement (command mode):


 
 
Scroll Backward 1 screen
<ctrl>b
 
 


 
 
Scroll Up 1/2 screen
<ctrl>u
 
 


Go to beginning of line
0
Go to line n
nG
Go to end of line
$


 
 
Scroll Down 1/2 screen
<ctrl>d
Go to line number ##
:##


 
 
Scroll Forward 1 screen
<ctrl>f
 
 


 
 
Go to last line
G
 
 


Scroll by sentence f/b
( )
 
 
 
 


Scroll by word f/b
w b
Move left, down, up, right
h j k l
Left 6 chars
6h


Scroll by paragraph f/b
{ }
Directional Movement
Arrow Keys
Go to line #6
6G


Deleting text (command mode):


Change word
cw
Replace one character
r
 
 


Delete word
dw
Delete text at cursor
x
Delete entire line (to buffer)
dd


 
 
Delete (backspace) text at cursor
X
Delete 5 lines (to buffer)
5dd


 
 
Delete current to end of line
D
Delete lines 5-10
:5,10d


Editing (command mode):


Copy line
yy
Copy n lines
nyy
Copy lines 1-2/paste after 3
:1,2t 3


Paste above current line
P

 
 
 


Paste below current line
p
 
 
Move lines 4-5/paste after 6
:4,5m 6


 
 
 
 
Join previous line
J


Search backward for string
?string
Search forward for string
/string
Find next string occurrence
n


% (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all)
:%s/oldstring/newstring/cg
 
 
Ignore case during search
:set ic


Repeat last command
.
Undo previous command
u
Undo all changes to line
U


Save and Quit (command mode):


Save changes to buffer
:w
Save changes and quit vi
:wq
Save file to new file
:w file


 
 
Quit without saving
:q!
Save lines to new file
:10,15w file


"vi was written for a world that doesn?t exist anymore - unless you decide to get a satellite phone and use it to connect to the Net at 2400 baud" - Bill Joy
Tags
Comments
Write the first comment
Leave a trace
Name *
Email *
Website
Anti SPAM * Code (3 + 2) =
Leave me a comment *
 
All comments are subject to editorial review
Post being viewed right now
Item date: 20.07.2009
Views: 2005
Item date: 15.10.2009
Views: 7906
Item date: 16.06.2009
Views: 2001
Item date: 12.04.2009
Views: 1082
Item date: 15.11.2011
Views: 114
Item date: 10.04.2009
Views: 813
Item date: 07.03.2009
Views: 890
Item date: 10.04.2009
Views: 1513
Item date: 03.01.2009
Views: 1908
Item date: 17.06.2009
Views: 1056