使用vim過程當中,經常會不經意間就碰到了一個特別有用的tip, 但是過後好久不用就給忘了。下次遇到還是想不起來應該怎麼處理,所以就寫篇文章來總結一下,下次遇到的時候直接來查。
正則表達式
1. 正則表達式匹配開始、匹配結束
\zs 匹配任何位置(零寬,不佔用字符),並將匹配起始處置於該處: 下一個字符將是整個匹配的第一個字
符。
例如: >
"^\s*\zsif" 匹配行首的 "if",忽略前導的空白字符。
\ze 匹配任何位置,並將匹配結尾處置於該處: 前一個字符將是整個匹配的最後一個
字符。
這兩個字符在使用正則表達式時特別有用,例如下面是我經常做的一個替換
aa bb
bb cc
cc dd
上面是一個文件的三行,要將每一行的空格及後面的部分刪除,之前的做法:
:%s:\(.*\) .*:\1:
要是使用\zs就可以這麼做:
:%s:.*\zs .*::
確實簡單了不少,而且這個只是最簡單的例子,在好多的其他正則表達式中有相當好的表現。這個等之後遇到再補。
未完待續