Я знаю регулярное выражение для глобальной замены,
%s/old/new/g
Как вы делаете интерактивный поиск-замену в Vim ?
Добавьте флаг c (в командной строке vim):
:%s/old/new/gc
будет выдавать подсказку «да / нет» при каждом появлении слова «старый».
Встроенная справка Vim предлагает полезную информацию о параметрах, доступных после выбора замены с подтверждением. Использование:
:h :s
Затем перейдите к разделу подтверждения параметров. Снимок экрана ниже:
Например, чтобы заменить это и все остальные совпадения, используйте a
.
Марк Биек указал, используя:
для глобального поиска замените подтверждением для каждой замены. Но мне также нравится интерактивно проверять, что старый текст будет соответствовать правильно. Сначала я выполняю поиск с помощью регулярного выражения, а затем снова использую этот шаблон:
s//
Будет использовать последний шаблон поиска.источник
Я думаю, что вы ищете
c
, напримерs/abc/123/gc
, это заставит VIM подтвердить замены. Смотрите: помощь: заменить для получения дополнительной информации.источник
Я обычно использую команду find / substitute / next / repeat :-)
Это
find "old"
,substitute 3 characters for "new"
,find next
,repeat substitute
, и так далее.Это боль для массовых замен, но она позволяет вам выборочно игнорировать некоторые случаи старых (просто нажав
n
снова, чтобы найти следующий, вместо того,.
чтобы повторять замену).источник
<CR>
?Если вы просто хотите посчитать количество вхождений 'abc', вы можете это сделать
%s/abc//gn
. Это ничего не заменяет, а просто сообщает количество появлений 'abc'.источник
Если ваш заменяющий текст должен меняться для каждого совпадающего вхождения (т.е. не просто выбирая Да / Нет, чтобы применить единственную замену), вы можете использовать плагин Vim, который я сделал, называемый интерактивный-замена .
источник
Neovim теперь имеет функцию предварительного просмотра замены:
Изображение взято с: https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d Документация по функции: https://neovim.io/doc/user/options.html# 'inccommand'
источник
nvim
встроенная функция, приятно знать! Спасибо, что поделился!