vim 处理字符串的时候用环视,可以方便的处理复杂的删除和替换操作
关于环视的解释请参考Yurii的《精通正则表达式》一书吧。
如有下列则符串:
smallcat
smalldog
mysmallcat
smallcat_lili
\@= 顺序环视
eg:查找后面是cat的字符small
/small\(cat\)\@=
\@! 顺序否定环视
eg:查找后面不是cat的字符small
small\(cat\)\@!
\@<= 逆序环视
eg:查找前面是small的cat
\(small\)\@<=cat
\@<! 逆序否定环视
eg:查找前面不是small的cat
\(small\)\@<!cat
\@> 固化分组
\%(atom\) 非捕获型括号
意思是,此分组不捕获,不会将此括号内的表达式记录:
%s/\%(cat\)_\(lili\)/\1/gc
参考文档
http://blog.csdn.net/lxcnn/article/details/4304754http://blog.csdn.net/lxcnn/article/details/4304754