星期四, 4月 12, 2012

exvim

今天在這篇文章上看到exvim,研究一下之後,立馬就在Windows跟Linux都裝起來了。畢竟 vim 要去湊 plugin,然後又要 Windows/Linux 通用,真的是要花很多功夫。
 Windows上比較簡單,下載安裝軟體以後,他會先查詢目前有無安裝Vim Windows版,有的話,會先移除,接著再安裝exvim。安裝完以後,沒有在右鍵選單上加上Edit with Vim,讓我覺得不是很順手。不過,exvim裝了很多東西,就不用自己去找plugin來兜,也不用找ctags、cscope之類的來安裝了。
 一開始使用 exvim 時,參考官方文件來做,發現 leader key 會失效,把 _vimrc 改為 _gvimrc 才可以運作。仔細研究以後,才知道 exvim leader key 與自訂 _vimrc 的關係,沒有 $HOME/_vimrc時,會載入 $VIM/.vimrc,有 $HOME/_vimrc 時,只會載入 $HOME/_vimrc ,因此預設設定都會跑掉。所以 $HOME/_vimrc 第1行要先 source $VIM/.vimrc ,這是 exvim 預設的設定,然後再去加自己的設定。字型的話,我不想用預設的字型,想用Consolas 。guifont 的設定,要參考 $VIM/.vimrc 裡的方法,GUIEnter 事件被觸發以後再設,所以要補一個 SetMyGuiFont 的函數,在裏面設置,接著再用 au GUIEnter * call s:SetMyGuiFont() 去綁定說 GuiEnter 事件觸發以後再執行 SetMyGuiFont()
解決完設定問題,就參考 Quick Start 來使用看看,才明白不特別修改右鍵選單的關係。exvim 以 your_project.vimentry 為主,因此在專案開發的資料夾按滑鼠右鍵,選「新增」>「exvim vimentry 檔案」,然後輸入你要的名稱加上.vimentry,接著點兩下該檔案即可開始進行你專案的處理。在管理上很簡潔,以後就不需要特別先開 vim,然後切換目錄什麼的,就只要先切換到你專案開發資料夾,開啟 .vimentry 檔案,就可以開始開發。
Linux 下的話,官方文件的 Install 有說明,但是我覺得不夠清楚,我補充一下。
  1. 根據文件去安裝必要的套件,像 ctags, cscope 之類的。文件裡說要重新編譯 vim,我是沒有,就是用 ubuntu 提供的 vim-gtk。
  2. 下載網頁下載 full_package-unix 那包 zip 檔。
  3. 在你的 $HOME 建立 exdev,再把 1 下載到的 zip 解開在這裡。
  4. 切到 $HOME,用 ln -s $HOME/exdev/toolkit .toolkit 跟 ln -s $HOME/exdev/vimfiles .vim 建立兩個 symbolic link。
  5. 備份你原本的 .vimrc ,然後重新建一個 .vimrc,裏面放 source $HOME/exdev/.vimrc_ex
  6. 大功告成,跟 Windows 一樣也是到你專案開發的資料先 touch 一個 .vimentry 的檔案,再用 vim 編輯就可以。
這邊我遇到一個問題,就是按下 \R 時,會出現 '--- 尚有 ---' 的訊息,要我按任意鍵繼續,這個很麻煩。我查了好久,才明白為什麼。我追蹤到 exUtility#Browse ,這裡的第1行,就是印訊息的地方,印的方式是用 echon "processing: " . a:dir . "\r" ,乍看之下沒問題,但是因為我專案開發目錄下的目錄很多,檔名有的很長, echo 會印到下一行,印到下一行以後,又 \r 回到行首,因此等於還是浪費了一行。這樣持續的 echo ,到超過畫面時,就會停住,要按任意鍵才能繼續。所以我參考 fnamemodify 函數的說明,把這行改為 echon "processing: " . fnamemodify(a:dir,":t") . "\r" 只印檔名,就不會再有要按任意鍵的情況了。 就暫時這樣用吧。

沒有留言: