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


11

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

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

short
Short
SHORT

в

long
Long
LONG

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

Ответы:


3

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


3

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

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

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

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

      :%S/long/short/g

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.