Vim et Vi Tutoriel: Comment utiliser les macros
Dans Vim les macros permettent d’enregistrer et de jouer une séquence d’actions dans l’éditeur.
A l’aide d’exemples détaillés je vais vous expliquer comment faire pour enregistrer et lancer des macros dans les éditeurs Vi et Vim.
Les étapes pour faire une macro dans Vim sont les suivantes :
- Démarrez l’enregistrement en appuyant sur la touche q, suivi d’un caractère minuscule afin de nommer la macro
- Effectuez les actions qui seront enregistrées à l’intérieur de l’éditeur Vim
- Stoppez l’enregistrement en appuyant sur la touche q
- Jouez la macro enregistrée en appuyant sur la touche @ suivi du nom de la macro
- Pour répéter la macro plusieurs fois, appuyer sur : NN @ ‘nom macro’. NN étant un nombre
Exemple : Génération d’une séquence de nombre à l’intérieur d’un fichier en utilisant une Macro Vim
1. Créez et ouvrez un fichier test.txt pour générer la séquence:
1 | $ vim test.txt |
2. Passer en mode insertion et tapez « 1 . » comme ci-dessous:
Appuyer sur ‘Echap’ ‘i’ puis ‘1 .’
1 2 | $ vim test.txt 1. |
3. Lancer l’enregistrement et appeler la macro ‘a’
Appuyez sur ‘Echap’ ‘q’ puis ‘a’
q lance l’enregistrement
a permet de nommée la macro a
Quand vous appuierez sur q a, l’indication « recording » (ou « enregistrement ») apparaîtra en bas de l’éditeur vi.
4. Copier la première ligne sur la seconde de manière à avoir deux lignes avec « 1 . » comme ci-dessous :
Appuyez sur: ‘Echap’ ‘yy’ puis ‘p’
yy va copier la ligne courante
p va coller la ligne qui vient d’être copiée
1 2 3 | $ vim test.txt 1. 1. |
Vim va afficher la mention « recording » (ou « enregistrement ») au bas de l’écran comme ci-dessous.
5. Incrémentez le nombre
Pressez: Control + a
Incrémentez le nombre en plaçant le curseur sur la seconde ligne et en appuyant sur la combinaison de touches Ctrl+a
1 2 3 | $ vim sequence-test.txt 1. 2. |
Vim affiche toujours « Enregistrement » en bas de l’écran.
6. Stopper l’enregistrement
Appuyez sur q
Pressez q pour stopper l’enregistrement. Vous allez avoir le message en bas de l’écran qui va disparaître.
7. Répéter l’action enregistrée 98 fois
Appuyez sur [email protected]
Maintenant répéter cette action en appuyant sur 98 @ a
@a répète la macro « a » une fois
[email protected] répète la macro « a » 98 fois, ce qui va permettre d’avoir la séquence de nombre de 1 à 100 comme ci-dessous :