Recherche et remplacement préservant la casse dans vim?

11

Dans vim, je sais que je peux rechercher avec ou sans sensibilité à la casse. Mais si je veux rechercher une chaîne en majuscule ou en minuscule et la remplacer par un remplacement du même cas, est-ce possible en un seul :s///?

Par exemple, je veux changer ces lignes:

short
Short
SHORT

à

long
Long
LONG

Je peux le faire en trois :scommandes, ou une insensible :set aller réparer les cas manuellement, mais y a-t-il une meilleure façon? Une recherche et un remplacement préservant la casse?

Kevin
la source

Réponses:

3

Pour :sautant que je sache, il n'y a pas de fonctionnalité native qui le fasse, mais si vous êtes prêt à installer des modules complémentaires, vous pouvez consulter le plugin de conservation de Michael Geddes .

jw013
la source
3

Vous pouvez essayer ce plugin.

https://github.com/tpope/vim-abolish

Ce plugin peut vous aider à faire correspondre non seulement le texte sensible à la casse, mais aussi ses variantes. Like /good{,ies}correspondra aussi bien aux goodies qu'aux goodies.

De même, il peut être remplacé par la casse et la variante incluse.

      :%S/long/short/g

remplacera long par court, Long avec court, LONG avec SHORT.

SibiCoder
la source