我刚看过这个:
In Vim, how do you search for a word boundary character, like the \b in regexp?
我想知道 - 不管怎么说,我也不能让vim认出\b
吗?
答案 0 :(得分:6)
由于Vim的正则表达式将\b
视为退格符,并且没有机会重新定义这个速记结构,所以只能使用PCRE正则表达式引擎,它可以按照描述的方式与Vim一起使用在Perl compatible regular expressions Vim Tips Wiki。
这是该页面的描述:
与
:ver
核实编译了+perl
或+perl/dyn
。如有必要,请安装Perl。在Windows上,ActivePerl是标准的,但如果您不需要任何其他perl模块,任何无依赖性的perl58.dll都可以使用。如果您不想完全安装perl,请将Strawberry Perl 5.8.x中的perl58.dll复制到文件夹vim.exe中,并且以下命令可以正常运行。
- 醇>
输入
:perldo s/searchme/replaceme/g
注意:
+perl/dyn
似乎没有必要。
或者如果编译Ruby,也可以使用Ruby的正则表达式将\b
识别为单词边界:
或者如果您编译了ruby(在
+ruby
输出中查找:ver
)相当于
s/pattern/replacement/g
:
:rubydo gsub /pattern/,'replacement'