Les macro-commandes

Le même principe s'applique aux alias, sauf que ceux-ci servent pour les commandes. On les crée avec la commande :map alias commande. Là encore, n'oubliez pas l'effet de <C--V> pour introduire des caractères spéciaux. Les alias peuvent enchaîner une suite de commandes et surtout changer de mode. On peut ainsi faire des opérations complexes d'une seule touche. Imaginez que vous éditiez un script shell, et que vous souhaitiez mettre en commentaire certaines parties. Normalement, il vous faudrait aller au début de la première ligne, entrer en mode saisie, taper un #, repasser en mode commande, ou aller chercher la souris sur son tapis, pour se déplacer sur la ligne suivante, et recommencer... Bref, fastidieux, surtout si vous avez 100 lignes à commenter... Avec un alias, en revanche, rien de plus simple ! Tapez :map v i#<C--V><ESC>j et voilà le travail. Un simple appui sur la touche v déclenche l'ensemble de la séquence décrite ci-dessus. Commenter vos 100 lignes devient nettement plus simple.

Enfin, il existe une dernière méthode permettant de réaliser des macro-commandes : le stockage d'une séquence de touches dans une mémoire spécifique. Ça fonctionne comme un enregistrement vidéo : vous le déclenchez, et il filme tout ce que vous tapez, en l'écrivant sur une cassette. Lorsque vous activez la macro, toutes les touches que vous avez tapées sont rejouées dans l'ordre. Pour commencer l'enregistrement, appuyez sur qx, où x est la lettre du registre dans lequel vous voulez stocker la macro-commande. Pour arrêter l'enregistrement, tapez q à nouveau, en mode commande (si vous entrez en mode saisie durant la macro, le q sera tapé dans le texte et non pas interprêté). Vous avez la possibilité d'enregistrer en plusieurs fois : en démarrant l'enregistrement avec Qx, ce que vous taperez s'ajoutera à la macro existante au lieu de la remplacer. Pour exécuter la macrocommande x, placez le curseur à l'endroit où elle doit débuter, puis tapez @x.

Marc Simon
1999-01-23