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