Court didacticiel sur Vi(m)

À quoi sert ce didacticiel

Ce didacticiel n’est pas exhaustif pour un sous et ce n’est pas son objectif du tout. L’objectif est de donner au lecteur une vue de Vi(m) et de lui donner un indicateur des commandes les plus utiles en moins de 10 minutes.

Bien que je ne couvre que Vi et Vim, la plupart des commandes indiquées s’appliquent à tous les éditeurs Vi like (Elvis, Neovim …)

Un peu d’histoire

Vim est un dérivé de l’éditeur de texte vi, ce dernier est le descendant de ex. Dans le milieu des années 70, alors que l’utilisation d’un terminal se généralise, le besoin pour un éditeur pleine page se fait sentir. Deux éditeurs vont naître de ce besoin:

Vi est devenu un standard de facto et fait même parti des commandes standard selon la norme POSIX. Ce qui fait qu’on le trouve, d’une façon ou d’une autre sur tous les systèmes d’exploitation qui se réclament de prêt ou de loin de POSIX ou d’UNIX, de Mac OS X à Linux en passant par HP-UX ou FreeBSD. Bien sur, plus personne n’utilise, pour se faire, le Vi d’origine écrit par Bill Joy. Elvis ou Vim ou l’un des nombreux éditeurs Vim like l’ont remplacé depuis longtemps.

Ce qui fait que vous soyez développeur, devops ou administreur système, la connaissance des commandes de Vi est un impératif car vous rencontrerez cet éditeur à un moment ou à un autre de votre carrière.

Les modes de Vi

Vi dispose de trois modes distincts:

Par défaut, lorsque vous lancez Vi, vous êtes en command mode. On peut faire plein de chose dans ce mode, dont les plus communes:

On peut précéder n’importe la quelle de ces commande par un chiffre pour indiquer le nombre de fois qu’il faudra appliquer la commande:

On peut passer en mode insertion par la commande i (insert), a (append) et r (remplace le caractère sous le curseur).

En mode insert, on rentre du texte. On ne peut rien faire d’autre que rentrer du texte.

On sort du mode insert avec la touche Esc qui nous renvoie en mode command.

Depuis le mode command, on passe en mode last line avec la touche :. Le curseur se place alors sur la dernière ligne de l’écran, juste après un :. Là encore, on peut faire plein de choses dans ce mode, dans tous les cas, on en sort avec la touche Enter.

Un ordre donné dans ce mode est composé de deux parties, une première indique sur quelle partie du texte s’applique l’ordre:

Les ordres les plus utiles sont:

Bref, pour quitter Vi lorsque vous éditer du texte, sortez du mode insert avec Esc, puis taper :wq suivi de la touche Enter.