118 votes

Rechercher et remplacer dans la sélection dans « vi »

Comment faire pour trouver et remplacer dans une sélection en vi ?

158voto

Chad Birch Points 39087

Sélectionnez le texte en mode visuel (je suppose que c'est ce que vous faites), puis appuyez sur : pour commencer à taper une commande, vous verrez quelque chose comme ceci apparaître dans la ligne de commande :

:'<,'>

Cela signifie que la commande s'appliquera à la sélection. Tapez ensuite s/search/replace/ et appuyez sur Entrée. (Ajoutez un g après la troisième barre oblique si vous voulez remplacer tous les matches, et un c si vous voulez une confirmation pour chaque remplacement)

126voto

Brad Parks Points 5513

La plupart des autres solutions suggérées ici fonctionnent sur l'ENSEMBLE de la ligne dans laquelle la sélection a lieu, ce qui peut ne pas être ce que vous voulez.

Pour rechercher et remplacer UNIQUEMENT dans la sélection, sélectionnez d'abord visuellement le texte, puis utilisez une commande telle que :

:%s/\%VSEARCH/REPLACE/g

Cela fera la recherche et remplacera uniquement dans la section visuellement sélectionnée, en remplaçant la RECHERCHE par REMPLACER. Si vous avez plus d'une ligne sélectionnée, cela fonctionnera également sur plusieurs lignes.

29voto

Tomalak Points 150423

Si vous avez utilisé le mode visuel pour sélectionner, alors :

:'<,'>s/regex/replacement/options

VIM placera automatiquement la plage ('<,'>) si vous passez en mode ligne de commande (en appuyant sur ':') depuis le mode visuel.

9voto

Lazarus Points 17526

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X