Outils pour utilisateurs

Outils du site


informatique:outils:vim:substitution_de_texte

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
informatique:outils:vim:substitution_de_texte [2025/01/02 09:25] – supprimée - modification externe (Date inconnue) 127.0.0.1informatique:outils:vim:substitution_de_texte [2025/01/02 09:25] (Version actuelle) – ↷ Page déplacée de informatique:vim:substitution_de_texte à informatique:outils:vim:substitution_de_texte alexis
Ligne 1: Ligne 1:
 +====== Substitution de texte ======
  
 +===== Utiliser des regexp =====
 +Le fonctionnement des regexp est inversé par rapport à d'autre logiciel. Pour activer certains motifs, il faut utiliser le caractère d'échappement alors que d'habitude, il faut l'utiliser pour les désactiver.
 +<WRAP prewrap>
 +<code bash>
 +# Pour supprimer ''n'' espaces suivi de ''|'' suivi de ''n'' chiffres
 +:%s/\s\+|\d\+//
 +</code>
 +</WRAP>
 +
 +===== Changer de casse =====
 +Le changement de casse ne peut se faire qu'avec l'utilisation de références arrières. Il est possible de :
 +  * Mettre en majuscule tout le texte qui suit : ''\U''. ((le changement s'effectue jusqu'à la fin de la ligne ou jusqu'au délimiteur (''\E'' ou ''\e'').))
 +  * Mettre en minuscule tout le texte qui suit : ''\L''. ((le changement s'effectue jusqu'à la fin de la ligne ou jusqu'au délimiteur (''\E'' ou ''\e'').))
 +  * Mettre en majuscule la première lettre du texte qui suit : ''\u''.
 +  * Mettre en minuscule la première lettre du texte qui suit : ''\l''.
 +
 +<WRAP prewrap>
 +<code bash>
 +:%s/Test \(TeSt\) Test/Test \U\1 Test/ # Affiche "Test TEST TEST"
 +:%s/Test \(TeSt\) Test/Test \U\1\E Test/ # Affiche "Test TEST Test"
 +:%s/Test \(TeSt\) Test/Test \L\1 Test/ # Affiche "Test test test"
 +:%s/Test \(TeSt\) Test/Test \L\1\E Test/ # Affiche "Test test Test"
 +:%s/Test \(TeSt\) Test/Test \u\1 Test/ # Affiche "Test TeSt Test"
 +:%s/Test \(TeSt\) Test/Test \l\1 Test/ # Affiche "Test teSt Test"
 +</code>
 +</WRAP>
 +
 +===== Chaîner des substitutions =====
 +Pour cela, il suffit juste d'utiliser ''|'' entre chaque commande de substitution. Si une erreur survient, les substitutions suivantes ne seront pas appliquées.
 +
 +<WRAP prewrap>
 +<code bash>
 +:%s/htm/html/ | %s/JPEG/jpg/ | %s/GIF/gif/
 +</code>
 +</WRAP>
 +
 +===== Utiliser une expression =====
 +Il est possible d'utiliser une expression comme chaîne de remplacement. Pour cela, la chaîne de remplacement doit commencer par ''\=''.
 +
 +<WRAP prewrap>
 +<code bash>
 +# Ajouter le numéro de chaque ligne
 +:%s/^/\=line('.')."\t"/
 +
 +# Dupliquer la référence arrière en la modifiant
 +:%s/'\(.*\)'/\='"'.submatch(1).'" => "'.substitute(submatch(1),'_',' ', 'g').'",'/g
 +</code>
 +</WRAP>