До текущей версии в Vim, нет никакого способа сделать :s/[perlRegex]/bar/c
Так вы просите особенность, которая не существует ,
Вы можете сделать сопоставление с verymagic
, однако это не совместимый флаг Perl Regex. Он по-прежнему использует движок vimregex, просто изменил способ избежать шаблонов регулярных выражений.
Например, в Perl, вы можете сделать предпросмотр/за (?<=foo)..., (?=foo), (?!foo)..
, вы можете использовать удобный \K
: som.*ing\Kwhatever
и т.д., вы не можете использовать этот синтаксис в Vim непосредственно, независимо от того, который «волшебного» уровня вы установили. Vim имеет ту же функцию, но другой синтаксис:
\@=
\@!
\@<=
и также \zs \ze
очень удобно, даже более мощным, чем в Perl \K
.
Vim - это редактор, с регулярным выражением vim, вы можете не только выполнять текстовое сопоставление, но и сопоставлять базу с визуальным выбором, позицией курсора и так далее.
Если вам действительно нужно выполнить сложное сопоставление образцов и действительно нужно сделать их в vim, изучите регулярное выражение vim! Это не сложно для вас, если вы «хорошо знаете ПК»
vim regex предлагает больше возможностей, чем регулярное выражение Perl в vim. стоит изучать – Kent
Вы имеете в виду, что пользователь смотрит и подтверждает каждую замену? Насколько мне известно, таких встроенных функций нет. – melpomene
Кстати, это не PCRE; это реальный код Perl с реальными регулярными выражениями Perl. – melpomene