2010-05-18 11 views

Répondre

14

Check it out:

s/<a href\(\_[^>]*\)>/<a href\L\1>/ 

Ce dit: match de <a href, suivie par zéro ou plusieurs caractères en plus >, y compris les nouvelles lignes (indiquées par \_), puis enfin un >. Remplacez-le par <a href, le texte capturé converti en minuscules (indiqué par \L) et le suivi >.

De toute évidence, vous êtes seul s'il y a un > quelque part dans votre tag, mais c'est la vie.

(Et dans le cas où ce n'est pas clair, vous allez utiliser cela comme :%s/.../... ou :<range>s/.../.../ pour certains petits range.)

Pour utiliser sur plusieurs fichiers, vous utiliserez windo, bufdo ou tabdo (selon si les fichiers sont ouverts en tant qu'onglets, fenêtres ou tout simplement en tant que tampons). Il y a beaucoup de documentation là-bas:

En général, il regardera probablement quelque chose comme ceci:

:tabdo <range>s/.../.../ 
:windo <range>s/.../.../ 
:bufdo <range>s/.../.../ | w 

Je ve a ajouté une commande write à la version bufdo, car elle ne peut pas passer à le prochain tampon sans enregistrer le courant. Vous pourriez le faire aussi pour les autres, si vous vouliez écrire immédiatement, mais ils travailleraient sans. C'est à vous d'ouvrir tous les fichiers - le plus simple est juste vim <lots of files> pour les obtenir en tant que tampons, ou vim -o <lots of files> pour les obtenir en tant que fenêtres (utilisez -O pour diviser verticalement au lieu d'horizontalement).

+0

Merci beaucoup, cela devrait être exactement ce que je voulais, je vais vérifier tout de suite! –