Recherche et remplace dans Vi et Vim

Recherche et remplace dans Vi et Vim

Recherche et remplacer dans Vi et Vim

Recherche et remplace dans Vi et Vim

Introduction

Vi et Vim sont des éditeurs de texte puissants utilisés dans les environnements Unix et bien sur GNU/Linux.

Ils offrent des commandes avancées de recherche et de remplacement qui permettent d’éditer rapidement et efficacement des fichiers texte. Ce guide détaille comment utiliser ces commandes.

Commandes de base

Remplacer toutes les occurrences sans confirmation

:%s/toto/tata/g
  • % : applique la commande à l’ensemble du fichier.
  • s : commande de substitution.
  • g : remplace toutes les occurrences sur chaque ligne.

Remplacer toutes les occurrences avec confirmation

:%s/toto/tata/gc
  • c : demande confirmation pour chaque remplacement.

Options supplémentaires

Limiter à une plage de lignes

:10,20s/toto/tata/g
  • 10,20 : remplace de la ligne 10 à la ligne 20.

Utiliser des expressions régulières

:%s/\<toto\>/tata/g
  • \< et \> : délimitent des mots complets.

Remplacer la première occurrence par ligne

:%s/toto/tata/

Commandes avancées

Remplacement avec une commande VimScript

:%s/\v(toto|foo)/\=submatch(0) == 'toto' ? 'tata' : 'bar'/g
  • \v : mode de regex « very magic ».
  • submatch(0) : récupère la correspondance trouvée.

Sauvegarder et quitter après remplacement

:%s/toto/tata/g | wq

Exemple pratique

Prenons un fichier de configuration où vous devez remplacer une ancienne adresse IP par une nouvelle :

:%s/192\.168\.1\.1/10.0.0.1/g

Conclusion

Recherche et remplace dans Vi et Vim : La maîtrise de ces commandes permet d’effectuer des modifications de texte rapides et efficaces dans Vi et Vim. N’hésitez pas à expérimenter avec différentes options pour adapter les commandes à vos besoins.

« `

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.