Bis die aktuelle Release-Version von vim, gibt es keine Möglichkeit :s/[perlRegex]/bar/c
So fordern sie eine Funktion zu tun, das nicht existiert .
Sie können mit verymagic
übereinstimmen, aber es ist nicht Perl Regex kompatible Flag. Es verwendet immer noch die vimregex-Engine, hat nur die Art geändert, wie man Regex-Mustern entkommen kann.
Zum Beispiel in Perl, können Sie Look-Ahead/hinter (?<=foo)..., (?=foo), (?!foo)..
, können Sie die handlichen \K
verwenden: som.*ing\Kwhatever
etc, können Sie nicht, dass diese Syntax in vim verwenden, um direkt, unabhängig davon, welche ‚Magie‘ Ebene, die Sie festgelegt haben. Vim hat die gleiche Funktion, aber eine andere Syntax:
\@=
\@!
\@<=
und auch die \zs \ze
sind sehr praktisch, noch mächtiger als Perl \K
.
Vim ist ein Editor, mit vim Regex, können Sie nicht nur Text-Matching, sondern auch Basis auf visuelle Auswahl, Cursor-Position und so weiter.
Wenn Sie wirklich komplexe Mustererkennung tun müssen und wirklich in vim tun müssen, lernen Sie vim regex! Es ist nicht schwierig für Sie, wenn Sie "pcre sehr gut wissen"
vim Regex bringt mehr Funktion als Perl regex in vim. es lohnt sich zu lernen – Kent
Sie meinen, dass der Benutzer jeden Ersatz sehen und bestätigen muss? Soweit ich weiß, gibt es keine eingebauten Funktionen. – melpomene
BTW, das ist nicht PCRE; Dies ist der tatsächliche Perl-Code mit tatsächlichen Perl-Regexes. – melpomene