根据此页面,您可以使用
这个方法可以很好地运作。
但我想知道如何在vim中使用交互式PCRE语法搜索和替换。
由于
:perldo s/pattern/insert/g
与Perl兼容的正则表达式。这个方法可以很好地运作。
但我想知道如何在vim中使用交互式PCRE语法搜索和替换。
由于
perldo
无法完成此任务,因此我正在寻找其他解决方案。:s/[perlRegex]/bar/c
命令。verymagic
来进行匹配,但是它不兼容 Perl 正则表达式标志。它仍然使用 vimregex 引擎,只是改变了转义正则表达式模式的方式。(?<=foo)..., (?=foo), (?!foo)..
,你可以使用方便的 \K
:som.*ing\Kwhatever
等等,但是在 vim 中不能直接使用这些语法,无论你设置了哪个 'magic' 级别。Vim 有相同的功能,但是语法不同:\@=
\@!
\@<=
还有\zs\ze
非常方便,甚至比perl的\K
更强大。
Vim是一个编辑器,使用vim正则表达式,您不仅可以进行文本匹配,还可以基于可视选择、光标位置等进行匹配。
如果您真的需要进行复杂的模式匹配,并且确实需要在vim中完成,请学习vim正则表达式!如果您“非常熟悉pcre”,这对您来说并不困难。
可能最接近的是:
:s/\vfoo/bar/gc
s/pattern/insert/g
是一个 Perl 命令,而不是使用 Perl 兼容正则表达式语法的 Vim 命令。/c
标志的等效物,你需要找到另一种方法,比如……编写一个实际的 Perl 脚本。:perldo
是无法实现这个的。 - romainl
:perldo
做的不仅仅是 Perl 正则表达式。 - melpomene