Trois modes

modifier

Vi suit un principe de fonctionnement particulier qui est un frein à son apprentissage, mais qui ensuite lui donne tout son intérêt. À la différence de beaucoup d'éditeurs, vi a trois modes :

  • Mode édition
  • Mode commande
  • Mode exécution
 
Fonctionnement modal de vi : les trois modes.

Lorsque vi est en « mode édition », les touches du clavier correspondent au texte écrit dans le fichier, mais lorsqu'il est en « mode commande », ces mêmes touches correspondent aux commandes de l'éditeur. Et puisque vi est en « mode commande » à son démarrage, cela le rend non opérationnel pour l'édition et perturbe en général le novice.

Le basculement entre les trois modes se fait à l'aide de la touche 'i' (pour "insertion") et la touche <ESC>.

  • Pour basculer en « mode édition », tapez i.
  • Pour basculer en « mode commande », tapez <ESC>

En vim, on peut utiliser également la touche <INS> à la place de 'i'.


 

Gvim : exemple d'une fenêtre de vi

Une première séance de vi

modifier

Lancez vi sans arguments (tapez vi dans un terminal sous Unix, double-cliquez sous Windows). L'éditeur s'ouvre en mode commande et aucun fichier n'est ouvert, nous allons donc en ouvrir un pour l'éditer. La commande permettant d'ouvrir un fichier est :e, elle prend en argument le nom du fichier que l'on veut éditer, par exemple :

:e mon_beau_fichier

permet d'éditer le fichier appelé « mon_beau_fichier ».

Maintenant que nous avons un fichier ouvert, nous allons le remplir. Pour cela, nous devons passer en mode édition, ce qui peut être fait avec la commande i (insertion). Tapez seulement i, vi passe en mode édition, ce qui est signalé par le message :

-- INSERTION --

apparaissant en bas à gauche de la fenêtre. Tapez maintenant un texte que nous allons sauvegarder. Avant de pouvoir sauvegarder, nous devons retourner au mode commande, ce qui se fait grace à la touche <Echap>.

Maintenant que nous sommes revenus dans le mode commande, nous pouvons sauvegarder avec la commande :w (write en anglais).

Supposons maintenant que nous voulions modifier notre fichier, nous allons avoir besoin de nous déplacer ; dans vi, les déplacements se font uniquement en mode commande et avec les touches h, j, k et l. Cependant les versions modernes de vi telles que vim permettent de se déplacer avec les flèches et aussi de le faire en mode édition.

Une fois que nous avons effectué nos modifications et sauvegardé, nous pouvons quitter avec la commande :q (quitter).

Résumé des commandes de la leçon

modifier
Au lancement, vi est en « mode commande »
:e mon_beau_fichier édite le fichier mon_beau_fichier
le curseur peut alors se déplacer dans le fichier, avec les flèches ou avec les touches h, j, k et l
i passe en « mode édition » avant le curseur
le texte du fichier est alors modifiable
<ESC> passe du « mode édition » au « mode commande »
:w enregistre les modifications
:q quitte vi