L’éditeur vi
- LE standard de l’édition sous UNIX : présent sur tous les systèmes
- Très puissant quand on en a l’expérience (!)
- Comprend une forme restreinte des expressions régulières d’UNIX
Inconvénients :
* Peu convivial (mode insertion, …)
* “Faux“ plein écran
* Un seul fichier la fois
* Coupé-collé “préhistorique“
Commandes de Base
$ vi [-r] [fichier]
modes :
* Le mode “insertion“ (touche ‘i’ ou ‘a’) permet d’entrer du texte
* Le mode “commande“ (touche ‘:’) permet d’entrer des instructions complexes
* Le mode “standard“ (touche ‘ESC’) permet de se déplacer et d’entrer des commandes simples
1 Ne JAMAIS rester en mode insertion : revenir en mode standard dès la fin d’une saisie, même partielle
Chargement et Sauvegarde de Fichiers
Chargement, sauvegarde et insertion se font en mode standard
Chargement : :e nomfich charge le fichier nomfich
Sauvegarde : :w [nomfich] sauve (sous le nom nomfich) le fichier courant.
Insertion : :r nomfich insère le fichier nomfich l’endroit o se trouve le curseur
Sortie : :* quitte l’éditeur (faire suivre d’un ‘!’ si l’on n’a volontairement pas sauvegardé avant)
1 On peut sortir en sauvant par la commande :wq
Déplacement du Curseur
début de ligne : $^{\wedge}$
fin de ligne : $
début de mot : b,B
mot suivant : w,W
début phrase suivante : )
début phrase précédente : (
écran suivant : $^{\wedge}$F
écran précédant : $^{\wedge}$B
ligne : :N<rc>
Recherches / Modifications
recherche en avant : /<forme>
recherche en arrière : ?<forme>
répéter dernière recherche : n
insérer sous le curseur : i
insérer après le curseur : a
insérer en début de ligne : I
insérer après la fin de ligne : A
ouvrir une ligne vide : o,O
préfixe caractères spéciaux : $^{\wedge}$V
changer un caractère : c
un mot : w,W
une ligne : C
détruire un caractère : x
un mot : dw
une ligne : dd
1 Plusieurs : taper un nombre avant
Manipulation de Blocs
1 bloc = nombre entier de lignes
Le bloc détruit (<N>dd) est en fait bufferisé
Il peut être rappelé et permet donc de faire des ‘copier’ / ‘coller’
couper delete : N dd
copier yank : N yy
coller put : p,P