L'utilisation de vi nécessite une certaine pratique. Nous lui donnons toutefois ici la préférence par rapport à d'autres éditeurs car, d'une part, il est disponible sur tout système de type Unix et fait partie d'une installation Linux standard et, d'autre part, son mode d'utilisation est clair et ne prête en général à aucune confusion. De plus, lorsque plus rien ne va, vous pouvez toujours compter sur vi. Les instructions succinctes qui vont suivre devraient vous permettre, par exemple, d'éditer divers fichiers de configuration à l'aide de vi.
vi connaît trois modes de fonctionnement : en mode commande command mode, chaque pression de touche est interprétée comme partie d'une commande ; en mode insertion insert mode, les pressions de touches sont interprétées comme entrées de texte ; enfin, en mode commande complexe last line mode, entrez les commandes plus complexes dans la dernière ligne.
Voici les principales commandes du mode commande :
Tableau 25.1. Commandes simples de l'éditeur vi
| ESC | passe en mode commande complexe. |
| i | passe en mode insertion (les caractères sont insérés avant le curseur courant). |
| a | passe en mode insertion (les caractères sont insérés après le curseur courant). |
| A | passe en mode insertion (les caractères sont insérés à la fin de la ligne). |
| R | passe en mode insertion (l'ancien texte est remplacé). |
| r | passe en mode insertion pour remplacer un seul caractère. |
| s | passe en mode insertion (le caractère sur lequel le curseur est positionné est remplacé par l'entrée). |
| C | passe en mode insertion (le reste de la ligne est remplacé par le nouveau texte). |
| o | passe en mode insertion (une nouvelle ligne est insérée après la ligne courante). |
| O | passe en mode insertion (une nouvelle ligne est insérée avant la ligne courante). |
| x | efface le caractère courant. |
| dd | efface la ligne courante. |
| dw | efface jusqu'à la fin du mot courant. |
| cw | passe en mode insertion (le reste du mot courant est remplacé par l'entrée). |
| u | annule la dernière entrée. |
| J | concatène la ligne suivante à la ligne courante. |
| . | répète la dernière commande. |
| : | passe en mode commande complexe. |
Toutes les commandes peuvent être précédées d'un chiffre qui indique le nombre d'objets auquels la commande doit se rapporter. Par exemple, l'entrée de 3dw provoque l'effacement de trois mots à la fois. Par l'entrée de 10x, on provoque l'effacement de dix caractères à partir de l'endroit où est positionné le curseur et avec 20dd on efface vingt lignes.
Voici les principales commandes du mode commande complexe :