Drag&Drop Programming

第一次看到TextMate的snippet時(可參考TextMate, snippetsEmu for Vim這篇文章),就覺得這東西一定會徹底改變人們寫程式的習慣。但光只這樣好像還是有點不夠。snippet能讓programmer不用死記每種語言的不同語法,只要記得關鍵字,然後打出來按tab,接下來需要的東西全部自動生出來,programmer只要接著把空格填一填就好。這讓我想到CMU HCII所做的baristaWhyline的操作介面: code block可以直接被拖拉出來,放到想要的地方,接著再把空格填一填,聽起來跟snippet很像不是嗎?:p我想未來的programming環境都會往這個方向發展,到時要學新的程式語言也變得更簡單(反正這些年來的新語言都是換湯不換藥),只要打開editor,把需要的語法拉出來,再做一下填充題就完成了。所以,這就叫做拖曳編程(Drag&Drop Programming)嗎?閱讀全文

TextMate, snippetsEmu for Vim

在Mac OS X上有一個傳說中的text editorTextMate,它因為在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閱讀全文

新的Google Reader

Google Reader改版了!剛稍微試用了一下,發現比以前好用太多了,整體介面和操作習慣變得跟我習慣用的Rojo很像,速度也不像之前那麼慢了。而且這回還有個很不賴的新功能,feed會隨著畫面的捲動而自動標上已讀取的標記,以後讀feed再也不用一直按Mark as read了!再試用幾天,如果感覺不錯,我可能就會拋棄Rojo改投Google Reader的懷抱了。閱讀全文