我刚读到了这篇文章:
然后我在想,我能不能让vim也认识
\b
呢?\b
作为退格符号,并且没有其他可供重定义的简写构造,您只能使用可以用于Vim的PCRE正则表达式引擎使其工作,这些内容在Perl compatible regular expressions Vim Tips Wiki中有所描述。或者,如果Ruby已编译,则也可以使用Ruby的正则表达式来识别
使用
:ver
验证+perl
或+perl/dyn
是否已编译。如有必要,请安装Perl。在Windows上,ActivePerl是标准的,但任何不需要其他Perl模块的perl58.dll都可以使用。如果你不想完全安装perl,可以将perl58.dll从Strawberry Perl 5.8.x复制到vim.exe所在的文件夹中,然后下面的命令就可以工作了。
键入
:perldo s/searchme/replaceme/g
注意:
+perl/dyn
似乎并不必要。
\b
作为单词边界:
或者,如果Ruby已编译(在
:ver
输出中查找+ruby
)等同于
s/pattern/replacement/g
:
:rubydo gsub /pattern/,'replacement'
%!perl -lpe 's/pattern/replacement/g'
一样容易的。 :) - Sato Katsura
\b
已经有了它自己的含义:"退格键"。 - romainl\v
来使你的正则表达式“非常神奇”,那么你可以使用<
和>
代替\<
和\>
,这样会更加方便,通常会让Vim的正则表达式感觉更像Perl。Loupe插件可用于将\v
设置为默认值。 - Greg Hurrell