Midilibre.fr
Tous les blogs | Alerter le modérateur| Envoyer à un ami | Créer un Blog

20/10/2008

[vim] - Faire une modification/recherche dans plusieurs fichiers.

Supposons que vous avez un dossier dans lequel vous avez plusieurs fichiers comme ci dessous (la capture d'écran est complétement suréaliste, je vous l'accorde...) :

vim_rec.jpg

Dans chacun des fichiers, on a une expression à changer, une variable par exemple pour les programmeurs, ou le nom d'une personne. Bref vous voulez changer un mot ou autre (avec une expression régulière par exemple) dans tout ces fichiers d'un coup. Et en plus comme on est exigeant on veut faire ça avec Vim (parcequ'on aime vim par exemple)... Aucun problème, la solution tiens en deux lignes :

vim *.txt

Vim ouvre alors toutes les occurences de fichiers concernés (vous pouvez mettre le wildcard sur * si ca vous chante) tapez alors les deux points :

vim_rec2.jpg

:argdo %s/test/retest/g | w

ou le mot test est le mot que vous cherchez et retest le mot à remplacer, on repète la commande dans tout le fichier avec g et on valide l'écriture. Nos fichiers sont maintenant tous modifié.