Если я наберу /regex
текст, курсор временно перейдет к первому совпадению, и все совпадения будут выделены. Это обновления, как я печатаю. Можно ли получить такое поведение, когда я собираюсь сделать замену? Например, когда я работаю над сложным регулярным выражением :%s/\<regex\>/
, я хотел бы знать, что соответствует, прежде чем нажимать на триггер и все менять. Есть ли способ сделать это?
vim
regular-expression
Джон Берриман
источник
источник
Ответы:
Начните с поиска, используя / (или ? ), Что позволит вам настроить регулярное выражение (так как вы используете incsearch)
Как только вы все это получите, вы можете использовать предыдущий шаблон поиска (тот, который вы только что использовали) в команде замены, используя два разделителя для элемента поиска:
Конечно, вы можете использовать выборки и диапазоны, как обычно.
источник
s//
Одним из вариантов является то, что вы можете иметь флаг подтверждения
c
.:h s_flags
:Вы также можете попробовать
grep
команду, чтобы увидеть отфильтрованный вывод и выделенный исходный файл.:g/re/p
или:g/re/
источник
Ну, краткий способ увидеть, что будет соответствовать вашему регулярному выражению, - выполнить поиск с
/
использованием желаемого регулярного выражения. Он перейдет к первому совпадению и пометит его, пока вы его печатаете. Попробуйте -vim
не разочарует вас.источник