使用vim过程当中,经常会不经意间就碰到了一个特别有用的tip, 但是过后好久不用就给忘了。下次遇到还是想不起来应该怎么处理,所以就写篇文章来总结一下,下次遇到的时候直接来查。
正则表达式
1. 正则表达式匹配开始、匹配结束
\zs 匹配任何位置(零宽,不占用字符),并将匹配起始处置于该处: 下一个字符将是整个匹配的第一个字
符。
例如: >
"^\s*\zsif" 匹配行首的 "if",忽略前导的空白字符。
\ze 匹配任何位置,并将匹配结尾处置于该处: 前一个字符将是整个匹配的最后一个
字符。
这两个字符在使用正则表达式时特别有用,例如下面是我经常做的一个替换
aa bb
bb cc
cc dd
上面是一个文件的三行,要将每一行的空格及后面的部分删除,之前的做法:
:%s:\(.*\) .*:\1:
要是使用\zs就可以这么做:
:%s:.*\zs .*::
确实简单了不少,而且这个只是最简单的例子,在好多的其他正则表达式中有相当好的表现。这个等之后遇到再补。
未完待续