在善用佳軟上看到一篇文章,介紹的是一款編輯器——SUBLIME。印象不錯,下下來試用了一下。功能之強大,簡直讓我的Emacs也為之汗顏。EMACS,VIM也是跨平臺的。但是,就像Windows下很少有人用VIM或EMACS一樣,SUBLIME或許會在WINDOWS下流行開來(雖然不會像EMACS和VIM在UNIX和LINUX上那樣的流行),或許MAC上也會有不少人用它,但它恐怕是無法在LINUX/UNIX上有多大成就。因為它雖然跨平臺,但還是帶著太多WINDOWS的東西。而WINDOWS和LINUX/UNIX,是兩種完全不同的文化。開源文化不僅在于開放源代碼,更是一種自由的精神。在LINUX/UNIX上,你幾乎有無限的自由去做你想做的任何事,修改內核,配置一個獨一無二的桌面,甚至完全不要桌面,發明一種新的編程語言,一種新的版權協議,義務翻譯英文文檔,報告程序bug或者自己修改別人程序的bug.有些事情或許再我們看來難以完成,或者只是一種奢望。但奢望總比安于所得強些,所謂技進乎藝。唯有不斷地磨練自己的技術,永無止境,才能達到藝的境界,才能讓技藝和自己的生活完美地融合在一起。而不是只會在情人節的時候沾沾自喜地用某種語言輸出一句“I love you"。
而LINUX/UNIX給我們提供了一個不斷追求技藝提高的平臺。這是一個高手云集的世界,你永遠不敢說自己是最強者。在不斷的競爭中,開源就像微軟所說“像癌癥一樣“不斷地迅猛發展。VIM和EMACS就是這種文化孕育出來的最為優秀的產物之一。
為什么它們會被稱為神一級的編輯器?因為自由,以及對技術的熱愛。一個安裝出來要好幾個G的virtual studio,在功能上完全比不上幾十兆的EMACS和VIM。因為EMACS和VIM只需一些幾十K的插件,就能支持你所知道的任何語言。語法高亮,自動補全,快捷鍵綁定,編譯,調試,項目構建,源碼閱讀……。EMACS和VIM都是公開源碼的,你可以自由修改以滿足自己的需求,還可以自己寫插件,并免費提供給別人,因為一切都與利益無關,有關的只是興趣,以及分享的快樂。在設計之處,EMACS和VIM就有無限擴展的能力。在VIM里你可以很容易地執行SHELL命令,或者調動系統中任意的程序。在EMACS中,你可以很容易地擴展出普通編輯器所無法具有的功能。源碼控制,RSS,郵件客戶端,網頁瀏覽,閱讀PDF文件或者圖片,聽音樂,看電影,IRC聊天,記筆記(evernote),wiki,微博(twitter),甚至查看Google Map,畫圖,玩游戲,又或者管理系統中的文件……
EMACS和VIM是兩個極端。VIM是UNIX軟件設計的精髓的體現:只做一件事,并且做到最好。EMACS則更像是LINUX的一種代表,豐富多彩,給人以無線可能。但有些東西是共通的:開源,還有人在與編輯器的接觸中人與編輯器的共同進步。從某種程度上說,它們確實是神器。
而在WINDOW上,一切的軟件,WINDOWS本身,Virtual Studio,UltraEdit,NOTEPAD++,還有這個SUBLIME,呈現的完全是另一番景象。在這些軟件的作者眼里,他們的用戶都應該是傻子,我給你什么,你就用什么。我把所有的功能都做出來,你為這些功能掏錢。在LINUX/UNIX上,軟件開發者開發出來的軟件也是他們自己喜歡用的。其實評判一個軟件的好壞很簡單,那就是看他的作者會不會會用。LINUX在用LINUX,StallMan在用EMACS,微軟的開發人員在給LINUX報告BUG。那些WINDOWS上自以為是的程序員高高在上地看著他們開發的軟件的用戶,以為不開放源碼就能永遠保持技術的領先。在用戶變得越來越懶的時候,自己也會越來越失去創新的活力。
SUBLIME是也是可擴展的,但是和VIM與EMACS有根本的不同。對于一個不開源的軟件,不知道有多少人愿意為它寫插件。對于一個普通的用戶,他最多也只是會去看一眼那些看起來長的要命的選項設定,然后心滿意足地去這個“優秀”的軟件。對于VIMER和EMACSER則不然,They stay foolish,and they also stay hungry!。誰會滿意最開始的那個EMACS或VIM,在常年累月的“折騰”中,手中雖然仍然是一個不太完美的編輯器,但是,眼界和能力,已不是當初的那個新手了。
EMACS和VIM還有另外一個很大的福利:SHELL和LISP。這更是普通編輯器所無法比擬的。有誰會在用SUBLIME的時候PYTHON編程也很快的提高呢?但是要想用好EMACS,你要熟練LISP,要想用好VIM,你要熟練SHELL,這是成為高手的必由之路。也沒有幾個人愿意避開。在LINUX/UNIX上,這么好的學習和鍛煉自己的機會,誰舍得呢?