GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel Macro Vi et Vim :Comment enregistrer et lire


À 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

  1. Démarrez l'enregistrement en appuyant sur q, suivi d'un caractère minuscule pour nommer la macro
  2. Effectuez toutes les actions d'édition typiques dans l'éditeur Vim, qui seront enregistrées
  3. Arrêtez l'enregistrement en appuyant sur q
  4. Lisez la macro enregistrée en appuyant sur @ suivi du nom de la macro
  5. 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 .


Linux
  1. Comment enregistrer des screencasts dans GNOME 3

  2. Comment changer et utiliser les schémas de couleurs Vim

  3. Comment couper, copier et coller dans Vim / Vi

  4. Comment annuler et rétablir les modifications dans Vim / Vi

  5. Comment enregistrer votre terminal Linux en utilisant asciinema

Comment enregistrer un fichier dans Vi / Vim et quitter l'éditeur

Comment rechercher et remplacer du texte dans Vim

Schémas de couleurs dans Vim :comment les modifier et les utiliser

3 puissants mousquetaires de l'éditeur Vim - macro, marque et carte

Comment enregistrer de l'audio et l'enregistrer en tant que fichier MP3 avec Audacity

Comment jouer à des jeux sous Linux | Tutoriel facile pour débutant