Perl Style RegExp for Vim

今天下午在尋找能讓 Vim 的 Regular Expression 變得好看一點的方法,因為實在太多斜線了,當然直接就把目標鎖定在 perl 的語法,一開始找到一個vim tip有建議用perldo,不過編譯時要把+perl弄起來,使用上也不是很好用,而且不能搜尋,只能做取代,雖然有人寫了 function來搜尋,不過實際測試之後離方便使用還有些距離。c9s還有建議我用very magic看看,結果還是不夠滿意,後來換成找日本那邊,終於找到eregex.vim這個 plugin ,他的作法是把 perl/ruby 的 regexp 語法用 function 轉成 vim 的 regexp 語法,所以問題少很多,預設會把 S(大寫S)替換成用 perl/ruby 的 regexp 語法來搜尋搜尋取代的指令,使用方法和原來 s(小寫S)的都一樣,另外單純搜尋的部分有 :M/ 這個命令,也可以 map 到原來的 / 上:

nnoremap / :M/

使用上就和原來幾乎完全一樣了,超棒的~

順帶一提,Ubuntu上要編譯出 +perl 的功能要確定一下 libperl.so 在不在,像我的系統就只有 libperl.so.5.8,還要自己做個鏈結。

由於作者聯絡不上,我已經接起eregex.vim的維護工作了,放在 github 上。

comments powered by Disqus