你必須得承認,每當你看到別人使用 Vim,你就在想他是不是知道一些你不知道的事情。否則他為什麼要用這麼一個過時的編輯器,或者說開源垃圾?
除非你花至少一個月的時間每天使用這個編輯器,否則你是不會喜歡它的。這也是為什麼很多新手會嘗試一兩天,然後就被它噁心到了,然後就永遠不在碰它的原因。不幸的是,假如這些開發人員能夠挺過前期的痛苦,等待他們的將是無敵的速度和靈活性。
1. 太多的模式可以選擇
Vim 和 TextMate 有很多不同,你常常會遇到它不讓你輸入,讓你抓狂。Vim 有很多不同的模式,在不同的模式下,不同的按鍵有不同的功能。更讓人崩潰的是,大寫和小寫功能也天差地別。
也許你很奇怪一個命令搞了半天就是為了刪除五行文字。是的,但是當你掌握它後,你會發現編輯的速度快了很多。
2. 古老的編輯器
Vim 的年齡是很大的,超過30歲了!但是 Vim 是一直在被開發和維護的。最新的 7.3 版本是2010年發布的。還有,Vim 和 Vi 是不一樣的,如果你只用過 Vi 那麼建議你試試 Vim,你會有驚喜的。
3. 我喜歡 TextMate 程式碼片段功能
你也許很快就會發現 Vim 不能勝任某項工作,但是很有可能某個外掛程式已經實現了你想要的功能。例如 TextMate 程式碼片段(snippets)功能,Vim 並沒有這個功能,但是有一個 snipMate 外掛程式可以實現一模一樣的功能。
4. 我不能使用上下鍵
首先,Vim 是可以用上下鍵的,你說的可能是 Vi。但是大部分 Vim 的使用者不用這些按鍵:
h,j,k,l被映射到了左,下,上,右:
沒有選擇 - 以前的機器沒有上下左右按鍵
更少的移動 - 大部分情況你的手是在鍵盤的第二排,所以用這樣的映射會讓你的手盡量少的移動,可以讓你更快的在文檔的不同部分移動。
5. 我是設計師!
是的,Vim 並不適合每一個人。如果你經常和 HTML,CSS 打交道的話,Vim 可能不適合你。不過你也可以嘗試一下。也許 Coda 更適合你。
6. Vim 並不提供我現有編輯器的功能
你錯了,每一款編輯器都有它的長處。Vim 的長處就是強大,靈活,有成千上百的外掛程式,而且免費。幾乎你能想到的功能,都有外掛程式提供。
snipMate:可以讓你輸入 + tab ,展開整個 div,超級好用!
Surround:把一部分文字用標籤括弧等標記出來。
NerdTree:查看檔案系統,開啟檔案或者目錄。
TComment:簡單快速的注釋掉代碼中的某些行。
Sparkup:類似 ZenCoding,但同時也支援給元素賦值,比如:
ul > li { My list item text. }
7. 我的 Vimrc 檔案是空白
這是我用 Vim 遇到的第一個問題。當你第一次啟動 Vim 的時候,你會發現沒有代碼高亮,沒有文法格式,沒有自動縮排等等,什麼都沒有!剛開始的時候設定 Vim 的設定檔是比較頭疼的,不過網上有很多現成的可以參考。
8. 我不想使用命令列
我也是,還好有圖形介面的 Vim,比如 MacVim,GVim。
9. 沒有老師學起來太累
請查看這個 Venturing into Vim 四周的課程。這個課程的特點是,我是在我學習 Vim 的時候錄製的。
10. 我不能編輯遠端檔案
你當然可以,也許沒有 Coda 那麼友好,但是 Transmit FTP 外掛程式是可以提供這個功能的。
當然,你有成千上萬的理由拒絕 Vim。它的學習曲線很高,需要你對代碼編輯有一個全新的認識。但這些都不足以說明 Vim 不值得你認真學習一下!