[VIM] Remplacement, position courante
Résolu/Fermé
lmhelp
Messages postés
78
Date d'inscription
jeudi 11 janvier 2007
Statut
Membre
Dernière intervention
16 juillet 2009
-
26 nov. 2007 à 16:39
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 26 nov. 2007 à 19:15
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 26 nov. 2007 à 19:15
A voir également:
- Vim rechercher
- Rechercher ou entrer l'adresse - Guide
- Rechercher et remplacer word - Guide
- Adresse IP locale : comment la trouver facilement - Guide
- Rechercher une adresse - Guide
- Rechercher une chanson - Guide
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 nov. 2007 à 17:42
26 nov. 2007 à 17:42
Salut,
Pour remplacer uniquement le 1er motif de la ligne courante, faire précéder la commande par un point :
Pour remplacer uniquement le 1er motif de la ligne courante, faire précéder la commande par un point :
: . s/motif/pattern/pour tous les motifs de la ligne courante ajouter un "g" :
: . s/motif/pattern/get pour tous les motifs allant de la ligne courante à la fin du fichier, indiquer la plage :
: .,$ s/motif/pattern/gDoc ;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 nov. 2007 à 18:27
26 nov. 2007 à 18:27
Le point (.) indique donc la ligne courante.
La virgule (,) est employée comme séparateur.
le dollar ($) dans une plage d'adresse, indique la fin du fichier, en réalité la dernière ligne.
Donc dans la plage ".,$" on demande de faire un remplacement depuis la ligne courante jusqu'à la fin du fichier.
Si tu veux désigner une autre plage d'adresse, il suffit de remplacer le "$" par le numéro de ligne correspondant.
La virgule (,) est employée comme séparateur.
le dollar ($) dans une plage d'adresse, indique la fin du fichier, en réalité la dernière ligne.
Donc dans la plage ".,$" on demande de faire un remplacement depuis la ligne courante jusqu'à la fin du fichier.
Si tu veux désigner une autre plage d'adresse, il suffit de remplacer le "$" par le numéro de ligne correspondant.
lmhelp
Messages postés
78
Date d'inscription
jeudi 11 janvier 2007
Statut
Membre
Dernière intervention
16 juillet 2009
1
26 nov. 2007 à 18:06
26 nov. 2007 à 18:06
Super !
Merci beaucoup.
La dernière commande est celle qui répond à mon problème.
Pourrais-tu m'expliquer ce que signifient alors :
Merci encore de m'avoir répondu.
Merci beaucoup.
La dernière commande est celle qui répond à mon problème.
Pourrais-tu m'expliquer ce que signifient alors :
%sdans
:%s/motif_1/motif_2/gcet
.,$sdans
:.,$s/motif/pattern/g
"s" pour "substitute" ? % ? .,$ ?
Merci encore de m'avoir répondu.
lmhelp
Messages postés
78
Date d'inscription
jeudi 11 janvier 2007
Statut
Membre
Dernière intervention
16 juillet 2009
1
26 nov. 2007 à 18:08
26 nov. 2007 à 18:08
STOP !!!
Attends, je n'avais pas vu que tu me donnais un lien sur la doc.
Je regarde ça.
Merci !
Attends, je n'avais pas vu que tu me donnais un lien sur la doc.
Je regarde ça.
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lmhelp
Messages postés
78
Date d'inscription
jeudi 11 janvier 2007
Statut
Membre
Dernière intervention
16 juillet 2009
1
26 nov. 2007 à 18:13
26 nov. 2007 à 18:13
De la doc. conseillée par jipicy :
Mais euhhh, je veux bien une petite explication sur ".,$" si possible ?
Merci.
La plage '%' indique que l'expression doit être remplacée dans toutes les lignes.
Mais euhhh, je veux bien une petite explication sur ".,$" si possible ?
Merci.
lmhelp
Messages postés
78
Date d'inscription
jeudi 11 janvier 2007
Statut
Membre
Dernière intervention
16 juillet 2009
1
26 nov. 2007 à 18:52
26 nov. 2007 à 18:52
Ok, super, merci.
Le $ n'indique donc pas la fin de la ligne mais la dernière ligne du fichier.
Merci et bonne soirée.
Le $ n'indique donc pas la fin de la ligne mais la dernière ligne du fichier.
Merci et bonne soirée.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
26 nov. 2007 à 19:15
26 nov. 2007 à 19:15
Le $ n'indique donc pas la fin de la ligne mais la dernière ligne du fichier.
Dans une plage d'adresse uniquement...
Dans une plage d'adresse uniquement...