vi: Petit guide de survie | Vincent Defert - 28 Nov. 1998 |
Quoi qu'on puisse en penser à notre époque d'interfaces graphiques, vi est un petit éditeur très pratique pour modifier des fichiers ASCII et il offre 2 gros avantages: on est sûr de le trouver partout et il fonctionne même dans une fenêtre telnet sous MS-Windows. Par contre, il est vrai que s'il était révolutionnaire à l'époque des téléscripteurs, on sent bien que beaucoup d'eau a coulé sous les ponts depuis... d'où la nécessité de ce petit guide!
Première surprise: vi fonctionne dans 3 modes différents, le mode commande, le mode insertion et le mode sélection. Comme son nom l'indique, le mode insertion correspond au mode dans lequel on tape le texte à saisir. Le mode commande permet de se déplacer, de faire des recherches et eventuellement remplacements, de supprimer du texte et de passer dans les autres modes. Le mode sélection permet de sélectionner du texte librement, ligne par ligne ou sous forme de zone rectangulaire, et de le placer dans le presse-papiers ("couper" et "copier").
Attention: vi fait la différence entre minuscules et majuscules! Ainsi, p et P sont des commandes différentes. D'autre part, un peut donner un facteur de répétition à quasiment toutes les commandes en tapant ce nombre avant la commande (ex. 20k remonte de 20 lignes): il faut donc faire attention à ce qu'on fait dès qu'on s'approche du pavé numérique!
Commande | Description |
---|---|
0 | Aller en début de ligne |
$ | Aller en fin de ligne |
k | Ligne précédente |
j | Ligne suivante |
h | Caractère précédent |
l | Caractère suivant |
b | Mot précédent |
w | Mot suivant |
Ctrl-B | Page précédente |
Ctrl-F | Page suivante |
nG | Aller à la ligne n. Exemple: 1G va sur la première ligne |
G | Aller à la dernière ligne |
x | Supprime le caractère sous le curseur |
dd | Supprime la ligne courante et la copie dans le presse-papiers |
nd | Idem avec n lignes |
J | Fusionne la ligne courante et la suivante |
yy | Copie la ligne courante dans le presse-papiers |
ny | Idem avec n lignes |
P | Colle le presse-papiers avant la position courante |
p | Colle le presse-papiers après la position courante |
v | Commence une sélection en mode caractères |
V | Commence une sélection en mode lignes |
Ctrl-V | Commence une sélection en mode "rectangulaire" |
d | Supprime la sélection et la copie dans le presse-papiers |
y | Copie la sélection dans le presse-papiers |
c | Supprime la sélection et passe en mode insertion |
i | Passe en mode insertion avant la position courante |
a | Passe en mode insertion après la position courante |
o | Passe en mode insertion sur une nouvelle ligne sous la ligne courante |
Esc | Quitte le mode insertion |
u | Annule la dernière commande |
r | Remplace le caractère sous le curseur par le prochain caractère tapé |
~ | Convertit le caractère sous le curseur en majuscule si c'est une minuscule et vice-versa |
/texte | Recherche en avant du texte indiqué |
?texte | Recherche en arrière du texte indiqué |
n | Recherche l'occurrence suivante |
N | Recherche l'occurrence précédente |
:%s/chercher/remplacer | Recherche avec remplacement dans tout le fichier |
:w | Sauvegarde le fichier courant |
:wfichier | Ecrit le document dans le fichier indiqué |
:rfichier | Inclut le fichier indiqué à partir de la position courante |
:q! | Quitter en annulant les modifications |
ZZ (ou :wq) | Quitter en enregistrant les modifications |
Il est possible de faire bien d'autres choses avec vi: il est presque aussi puissant que Brief, bien que sûrement moins ergonomique. Les commandes décrites ici correspondent simplement aux besoins quotidiens, la mémorisation du reste relevant à mon avis du masochisme.
Un détail intéressant: quand on est installé au clavier de la machine Linux elle-même, on peut utiliser librement les flèches pour se déplacer, qu'on soit en mode commande ou en mode insertion. Quand on utilise le telnet de MS-Windows, on est obligé de se servir des touches alphanumériques, et seulement en mode commande bien sûr.
Pour finir, vous trouverez un autre guide sur vi bien plus complet ici, à lire quand vous aurez joué un petit peu avec vi et que vous voudrez en savoir plus ou mieux le comprendre.