2013年4月25日 星期四

VIM windows 版 + Taglist + Exuberant Ctags

之前看我們處長把它的 VI 改造成幾乎跟 Source Insight 一樣,我就覺得我也想來試一試,因為我也一樣覺得如果可以都用鍵盤操作,會比較順一點。(假會

但是我們平常在寫程式的環境是遠端的 Server,也沒有裝 X-windows,平常我們都是用 Samba 把它當網路磁碟然後才個人的 Windows 上編輯。

所以我就想說,那這些套件能不能用在 windows 版的 VIM 上呢?(對 VIM 有 windows 版)

實際上實驗是可以的,首先要裝 VIM 的 windows 版。
官網:http://www.vim.org/
Windows 版下載頁:http://www.vim.org/download.php#pc

安裝完之後,就可以去抓 Taglist
官網:http://vim-taglist.sourceforge.net/index.html
下載頁:http://vim.sourceforge.net/scripts/script.php?script_id=273
其實下載頁又連回了 Vim ,不知道是不是其實是自己人寫的?
下載回來,解開後,裡面有兩個檔,看目錄也應該知道
  taglist.vim 要放進 plugin 資料夾
  taglist.txt 要放進 doc 資料夾

再來是Exuberant Ctags
官網:http://ctags.sourceforge.net/
裡面就有 windows 版的 binary.
抓回來後,解開,裡面有個 ctags.exe 檔。我們只需要它,看你要把它放哪。
我自己是因為摸索中,不知道怎麼設定它的路徑,所以我直接把它丟到 system32 底下。

接下來,打開 Vim 的設定檔,在安裝路徑下的 "_vimrc"
在裡面可以加入
     let Tlist_Ctags_Cmd = 'C:\ctags\ctags.exe'
來指定 ctags.exe 的路徑。

到這邊,Vim 應該可以正常啟動。
使用
    :TlistToggle 
應該可以開關 tag list 視窗

只是裡面沒有任何 tag。

接下來的部份,就是自己亂試的了,不知道正常的作法該怎麼做?
因為我自己的 code 是放在 Linux 的 Server 上,
所以我可以在 server 上 project 所在的目錄下執行
  ctags -R .
來產生 tags 這個類似索引的檔案,然後再用 Vim 去開這個這個目錄下的程式時,
就可以看得到 taglist:

那如果要看 windows 下的 code 呢?
還請高人指點…


另外,這個只是有 taglist 而己,你只能知道這個檔案中有哪些 function、marco、variable(只有全域變數),然後可以看到它是在哪裡定義的。並沒有辦法追蹤被誰呼叫之類的。這個據說是要用 cscope 這個東西,這要下次再研究了。

cscope 用途跟我想的好像不一樣,這裡有一篇比較完整:
史丹利部落格:Vim + Trinity + Source Explorer + Tag List + NERD_tree + ctags

沒有留言:

張貼留言