TextMate, snippetsEmu for Vim
在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
追求神乎其技的程式設計之道 全系列
Email訂閱
RSS訂閱




October 6th, 2006 at 1:45 pm
這個在更早的 IDEA 或者是現在的 eclipse 中都有,因為 java 寫起來實在太煩人了…
- 回覆留言(Reply)
October 6th, 2006 at 1:55 pm
[...] 第一次看到TextMate的snippet時(可參考TextMate, snippetsEmu for Vim這篇文章),就覺得這東西一定會徹底改變人們寫程式的習慣。但光只這樣好像還是有點不夠。snippet能讓programmer不用死記每種語言的不同語法,只要記得關鍵字,然後打出來按tab,接下來需要的東西全部自動生出來,programmer只要接著把空格填一填就好。 [...]
July 23rd, 2007 at 1:35 pm
現在 SnippetsEmu 已經支援了很多語言了(java,cpp,html,xml,css,javascript…etc),可以參考:
http://c9s.blogspot.com/2007/06/vim-snippet.html
- 回覆留言(Reply)
January 2nd, 2008 at 1:33 pm
[...] snippetsEmu的文章有提到TextMate雖然很好,但如果不能支援vi的按鍵配置方式(key [...]
June 5th, 2008 at 6:32 pm
這個在更早的 IDEA 或者是現在的 eclipse 中都有,因為 java 寫起來實在太煩人了…
- 回覆留言(Reply)
June 5th, 2008 at 6:36 pm
文章寫得很專業哦
- 回覆留言(Reply)
February 21st, 2010 at 4:07 am
日本人寫了一個 snipmate , 改善了所有 snippetEmu 的問題。
- 回覆留言(Reply)