vi Text Editor

A quick reference guide

Last update
2010-11-03

Foreword   

The first full screen editor for Unix systems, vi is simple, compact and efficient. Although not very user-friendly, it is usefull to know it because, in emergengy cases, it is often the only one editor available. Another editor would take too more ressources (when the system runs on a rescue floppy disk for example). vi provide us a set of short, quick and powerfull commands. Some Linux distributions provide now vim (Vi IMproved), wich keep the same set of commands. If one is not a dayly practitioner of vi, a quick reference guide of the basic commands may be usefull.

This basic commands have been gathered into four sets : modes, edit, cursor and file.

Avant propos   

Premier éditeur de texte plein écran pour les systèmes Unix, vi est simple, compact et efficace. Même s'il n'est pas très convivial, il est utile de le connaître car, dans les cas d'urgence, vi est souvent le seul éditeur disponible. Un autre éditeur exigerait trop de ressources (lorsque le système fonctionne sur une disquette de dépannage, par exemple). vi offre un jeu de commandes courtes rapides et puissantes. Certaines distributions Linux proposent maintenant vim (Vi IMproved), lequel conserve le même jeu de commandes. Si l'on ne pratique pas couramment vi, un aide-mémoire des commandes les plus courantes peut s'avérer utile.

Ces commandes de base ont été regroupées dans quatre rubriques. La langue d'origine a volontairement été conservée afin de ne pas nuire à la clarté des définitions.

MODES
vi
run vi, command mode is activated
vi filename
run vi on file filename,
command mode is activated
i
enter insert mode
a
enter append mode
Esc
back to command mode
:
enter ex mode (file mode)
Enter
back to command mode

EDIT COMMANDS
o
new line
x
delete char
dd
delete line to correction buffer
10dd
delete 10 lines to buffer
Add
delete to "A" register
yy
copy line to buffer
Ayy
copy line to "A" register
p
insert buffer under current line
P
insert buffer above current line
AP
insert register "A" above current line
u
delete/undelete last inserted text
dw
delete word
R
overwrite (replace)
r
replace char
~
upcase/lowcase
CURSOR COMMANDS
w
begining of following word
0
begining of line
$
end of line
^F
Page down
^B
Page up
G
go to end of text
(n)G
go to line (n)
/
search text forward
?
search text backward

FILE COMMANDS
:w Enter
save file
:wq
save and exit
ZZ
in command mode = :wq
:q!
exit, not save
:e
edit new file
:r
include file
:r! cmd
include output of cmd command
:s/text
search text
:set ai
set autoindent
:set noai
set no autoindent

    
File: vicmds.html - Robert Billon, 2000-04-13 - Last update: 2010-11-03