一時手癢來寫一下
第一次看到神妙的 vim 是在系上的的機房
某天 I0來學校弄機器 然後就在我旁邊秀了一手 vim 的神技 (對那時候用 ee 的我來說 哈)
我記得 I0 好像先 show 了一下 split … (好神奇啊!)
然後還有 Virtual mode, Block mode、 ‘>’ 等等
對那個時候整天在用工作站的我來說 vim 簡直是神器啊
回家馬上把 vimtutor 開來練習
從此和 vim 結下不解之緣 可以說是惠我良多

一般 editor 可以做到的功能 vim 通常也少不了
最讚的應該是 vim 支援很廣的 file syntax
從此以後不管是寫網頁, 寫 verilog, 寫 asm, 全部用 vim 就一次搞定
連打 latex, 寫 spice 都可以用
而且全部都有漂亮的 syntax highlighting

接下在研究所時期
我是做硬體的 所以主要都是在寫 verilog
實驗室裡面的人 除了我以外 都是以 UltraEdit 為主
不過那時候和我一起弄 project 的 cplin 看 vim 覺得蠻神奇的
也常常跑過來問我要怎麼用
有人問當然要好好研究一下
看看 vim 的世界還有什麼好東西是我沒發現的

第一個是寫硬體的人一定會用到的 visincr 這個 plugin
基本上用 UltraEdit 的人第一個想問的應該會是這個
這個 plugin 像 UltraEdit 的 Column mode
可以生出一行累加的數字 1, 2, 3, 4 或是 0, 3, 6, 9 等等
這個應該是 hardware designer 必備

另外一個是把 vim 變身成一個 edit + debug 的平台
一般我們寫 code 的流程是這樣
寫完之後把 compiler 平台叫出來 compile code
查一下 message 在第幾行後 再回到 vim 修改
這樣就有點麻煩
一來要切來切去 二來要從一堆亂亂的 message 中找到行數真的是件麻煩的事
後來找出了 vim 強大的 quickfix
配上 command line 的 compiler
把 error log 的 format 寫好
就可以很輕鬆的把 vim 變成 editor + compiler
寫 code 寫好後 按下 F7 就可以自動檢查
如果有錯會開一個小 window 把 error 秀出來
點兩下就可以跳到有問題的那行
快樂的把 code 修好
從此寫 code 的爽度 ++

最後一個 也是我覺得 vim plugin 裡面最重要的一個: Project
對.. 這個 plugin 的名字就叫做 Project
基本上用了這個之後 你的 vim 就變成一個神兵利器
用起來的像這個樣子
Vim + Project
簡單講 Project 可以把會用到的檔案放在一起
vim 的左邊就變成了像一般 IDE 的 Project manager
點兩下就可以把檔案開在右邊的 Window
整合了這個和上面的 quickfix 的功能
vim 就變成 vim x++ 了 (x 隨便你換)
基本上和一個整合的 IDE 沒什麼差別
用了之後你應該會和我一樣 覺得生命美好了許多

我的 vim 之路到大概就到這裡
其他還有一些
必學的三種 virtual mode
可以省下很多的麻煩的 macro (’q')
如果你有在用 buffer 的話 方便的 selectbuf plugin
等等比較基本的就不介紹了
另外在 vim 的網站上有不少的寶 (scripts/plugins)
翻一翻應該會蠻有收獲的