À l'aide de la fonctionnalité Vim Macro, vous pouvez enregistrer et lire une séquence d'actions dans l'éditeur.
Cet article explique comment enregistrer et lire dans l'éditeur Vi et Vim à l'aide de deux exemples détaillés.
Étapes de haut niveau pour enregistrer et jouer dans Vim
- Démarrez l'enregistrement en appuyant sur q, suivi d'un caractère minuscule pour nommer la macro
- Effectuez toutes les actions d'édition typiques dans l'éditeur Vim, qui seront enregistrées
- Arrêtez l'enregistrement en appuyant sur q
- Lisez la macro enregistrée en appuyant sur @ suivi du nom de la macro
- Pour répéter les macros plusieurs fois, appuyez sur :NN @ nom de la macro. NN est un nombre
Exemple 1 :Génération de numéros de séquence dans un fichier à l'aide de la macro Vim
1. Démarrez un fichier sequence-test.txt pour générer la séquence.
$ vim sequence-test.txt
2. Passez en mode insertion et tapez "1". comme indiqué ci-dessous
Tapez :Échap i suivi de 1.
$ vim sequence-test.txt 1.
3. Démarrez l'enregistrement et stockez-le dans le registre a.
Tapez :Échap q suivi de a
- q indique de démarrer l'enregistrement
- a indique de stocker les enregistrements dans le registre a
- Lorsque vous faites q a, il affichera "enregistrement" au bas de vi.
4. Copiez la 1ère ligne sur la 2ème ligne pour avoir deux lignes avec 1 . comme indiqué ci-dessous
Tapez :Esc yy suivi de p
- yy copiera la ligne courante
- p collera la ligne qui vient d'être copiée
$ vim sequence-test.txt 1. 1.
Remarque : Vim affichera toujours l'enregistrement en bas, comme indiqué ci-dessous.
Fig :Vim affichant le message d'enregistrement en bas
5. Incrémenter le nombre.
Tapez :Contrôlez un
En plaçant le curseur sur la 2ème ligne, appuyez sur Ctrl+a qui incrémente le nombre à 2. comme indiqué ci-dessous.
$ vim sequence-test.txt 1. 2.
Remarque : vim affichera toujours l'enregistrement en bas.
6. Arrêtez l'enregistrement
Tapez :q
Appuyez sur q pour arrêter l'enregistrement. Vous remarquerez que le message d'enregistrement au bas du vim a maintenant disparu.
7. Répétez l'enregistrement 98 fois.
Tapez :98@a
- Répétez maintenant ce travail en tapant 98 @ a
- @a répète la macro "a" une fois.
- 98@a répète les macros "a" 98 fois en générant le numéro de séquence 1 - 100 comme indiqué ci-dessous à l'aide de macros.
Fig :Générer un numéro de séquence dans Vim à l'aide d'une macro
Exemple 2 :répéter la macro Vim avec différents arguments
Cet exemple explique comment vous pouvez exécuter la même commande, avec une entrée différente. c'est-à-dire encadrer la même commande, avec des arguments différents.
Avant d'exécuter la macro :change-password.sql
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
Après l'enregistrement et l'exécution de la macro :change-password.sql
$ vim change-password.sql ALTER USER Annette IDENTIFIED BY 'Annette'; ALTER USER Warren IDENTIFIED BY 'Warren'; ALTER USER Anthony IDENTIFIED BY 'Anthony '; ALTER USER Preston IDENTIFIED BY 'Preston'; ALTER USER Kelly IDENTIFIED BY 'Kelly '; ALTER USER Taylor IDENTIFIED BY 'Taylor'; ALTER USER Stiller IDENTIFIED BY 'Stiller'; ALTER USER Dennis IDENTIFIED BY 'Dennis'; ALTER USER Schwart IDENTIFIED BY 'Schwart';
1. Ouvrez le change-password.sql qui n'a que les noms.
$ vim change-password.sql Annette Warren Anthony Preston Kelly Taylor Stiller Dennis Schwartz
2. Démarrez l'enregistrement et stockez-le dans le registre a
Tapez :q un
- q indique de démarrer l'enregistrement
- a indique de stocker les enregistrements dans le registre a
- Lorsque vous faites q a, il affichera l'enregistrement du message au bas de vi.
3. Allez en mode Insertion et tapez ALTER USER
Tapez : I (i majuscule) suivi de "ALTER USER"
Placez le curseur n'importe où sur la première ligne, puis appuyez sur I. Ce qui vous amènera au premier caractère de la ligne. Tapez ALTER USER
4. Copiez le mot suivant (c'est-à-dire le nom)
Tapez :Échap w yw
- Appuyez sur Échap, puis appuyez sur w pour passer au mot suivant ( nom ).
- yw, copie le mot courant ( nom ).
5.Allez à la fin et tapez IDENTIFIED BY '
Tapez :Esc A suivi de « IDENTIFIÉ PAR ‘ »
- Appuyez sur Échap et A pour déplacer le curseur à la fin de la ligne, puis tapez espace.
- Tapez IDENTIFIÉ PAR ‘
6. Collez le nom copié
Tapez :Échap p
Appuyez sur Échap, puis tapez p pour coller le nom qui a été copié à l'étape 4.
7. Complétez le devis à la fin.
Tapez :Esc A suivi de ';
Appuyez sur Esc, et A pour aller à la fin de la ligne, et ';
8. Passez à la ligne suivante et arrêtez l'enregistrement.
Tapez :Échap j suivi de q
- j pour passer à la ligne suivante.
- q pour arrêter l'enregistrement
Remarque : Le message d'enregistrement affiché en bas du vi va maintenant disparaître. À ce stade, le change-password.sql ressemblera à ce qui suit.
Fig :Vim Macro a terminé l'enregistrement
9. Répétez la macro avec les arguments dans la ligne correspondante
Tapez :8 @ a
- Répétez maintenant ce travail 8 fois en tapant 8@a
- @a répète la macro "a" une fois.
- 8@a répète les macros "a" 8 fois en complétant automatiquement le reste de la ligne comme indiqué ci-dessous
Fig :Vim Macro Play terminé
Lecture recommandée
Vim 101 Hacks, par Ramesh Natarajan . Je suis un accro de la ligne de commande. Donc, naturellement, je suis un grand fan des éditeurs Vi et Vim. Il y a plusieurs années, lorsque j'écrivais beaucoup de code C sur Linux, je lisais tous les trucs et astuces disponibles pour l'éditeur Vim. Sur la base de mon expérience dans l'éditeur Vim, j'ai écrit le livre électronique Vim 101 Hacks qui contient 101 exemples pratiques sur diverses fonctionnalités avancées de Vim qui vous rendront rapide et productif dans l'éditeur Vim. Même si vous utilisez les éditeurs Vi et Vim depuis plusieurs années et que vous n'avez pas lu ce livre, rendez-vous service et lisez ce livre. Vous serez étonné des capacités de l'éditeur Vim.
Articles géniaux de l'éditeur Vim
Voici quelques excellents tutoriels pour l'éditeur Vi / Vim qui pourraient vous être utiles.
- Turbochargez le navigateur Firefox avec la fonctionnalité de l'éditeur Vim à l'aide du module complémentaire Vimperator
- Tutoriel :Faites de Vim votre IDE C/C++ à l'aide du plug-in c.vim
- Convertir l'éditeur Vim en magnifique navigateur de code source pour n'importe quel langage de programmation
- 12 exemples puissants de recherche et de remplacement pour l'éditeur Vim
Remarque : Veuillez vous abonner à The Geek Stuff et ne manquez aucun des futurs trucs et astuces des éditeurs Vi et Vim .