vim tips小結

使用vim過程當中,經常會不經意間就碰到了一個特別有用的tip, 但是過後好久不用就給忘了。下次遇到還是想不起來應該怎麼處理,所以就寫篇文章來總結一下,下次遇到的時候直接來查。

正則表達式

1. 正則表達式匹配開始、匹配結束

\zs    匹配任何位置(零寬,不佔用字符),並將匹配起始處置於該處: 下一個字符將是整個匹配的第一個字
    符。
    例如: >
        "^\s*\zsif"   匹配行首的 "if",忽略前導的空白字符。
\ze    匹配任何位置,並將匹配結尾處置於該處: 前一個字符將是整個匹配的最後一個
    字符。

這兩個字符在使用正則表達式時特別有用,例如下面是我經常做的一個替換

aa bb

bb cc

cc dd

上面是一個文件的三行,要將每一行的空格及後面的部分刪除,之前的做法:

:%s:\(.*\) .*:\1:

要是使用\zs就可以這麼做:

:%s:.*\zs .*::

確實簡單了不少,而且這個只是最簡單的例子,在好多的其他正則表達式中有相當好的表現。這個等之後遇到再補。


未完待續

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章