Сохраняющий регистр поиск и замена в vim?

11

В vim, я знаю , что могу искать с или без чувствительности к регистру. Но если я хочу найти строку в верхнем или нижнем регистре и заменить ее заменой того же регистра, возможно ли это в одном :s///?

Например, я хочу изменить эти строки:

short
Short
SHORT

в

long
Long
LONG

Я могу сделать это тремя :sкомандами или одной без учета :sи исправить ошибки вручную, но есть ли лучший способ? Сохраняющий регистр поиск и замена?

Kevin
источник

Ответы:

3

:sНасколько я знаю, нет встроенной функции, которая бы делала это, но если вы хотите установить дополнения, вы можете посмотреть на плагин keepcase Майкла Геддеса .

jw013
источник
3

Вы можете попробовать этот плагин.

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

Этот плагин может помочь вам сопоставить не только чувствительный к регистру текст, но и его варианты. Like /good{,ies}будет соответствовать как хорошему, так и вкусному.

Точно так же это может заменить чувствительный к регистру так же как включенный вариант.

      :%S/long/short/g

заменяет длинную на короткую, длинную на короткую, длинную на короткую.

SibiCoder
источник