在Mac OS X上有一個傳說中的text editor
TextMate,它因為在
Ruby On Rails demo上頻頻曝光,於是突然爆紅起來,甚至傳出有人為了這個editor而買了Mac的消息。我在第一次看到那個rails demo時,也注意到了presentor用的editor似乎非常神奇,不但能打幾個字就生出"整塊" code block template,而且還能非常流暢的把template填完。後來去查了一下,才發現原來這個editor叫TextMate,而那個神奇的auto-complete功能叫做snippet。TextMate雖然真的很好用,但目前還有個致命缺點:它竟然不能正確處理中文!!更精確的說,它會把中文字的寬度當成一般ascii字元的寬度來看,所以打中文上去就會發現字都疊在一起了。除此之外,OpenVanilla的選字窗在上面也是完全看不見的。因為如此,我還是只能繼續用我的Vim。(其實,即使TextMate的中文沒問題,我應該也還是換不過去吧,除非它支援Vi的key binding....) 雖然TextMate不太合用,但我還是對snippet念念不忘。剛用Google查了一下,發現跟我有同樣怨念的人還真不少,而且早就有人寫了Vim的
snippetsEmu,也就是能讓Vim也有一樣功能的plugin!snippetsEmu的用法還蠻簡單的,把它的.vim抓下來放在.vim/plugin/裡,接著在.vimrc中設定一行
let g:snip_set_textmate_cp=1
就能開啟TextMate的相容模式,也就是一直按tab就行了。但只有這個東西還不太夠用,目前還缺少各個語言的snippet file,如果有人知道哪裡有蒐集或是有自制的請通知我一聲。我目前已知的snippets有:
BTW, Emacs也有類似的plugin,可以參考這篇文章: http://gugod.org/blog/2006/01/emacs-my-snippetel.html
閱讀全文