2008年11月26日 星期三

Ubuntu安裝Vim Plugin ctags及taglist

安裝ctags及taglist
  1. 首先先安裝ctags

  2. apt-get install exuberant-ctags

  3. 然後到Taglist網站去下載zip檔http://vim-taglist.sourceforge.net/

  4. (1)下載後解壓縮該檔案
    # unzip taglist_45.zip
    Archive: taglist_45.zip
    inflating: plugin/taglist.vim
    inflating: doc/taglist.txt
    (2)將plugin及doc複製到家目錄的".vim"這個目錄裏,如果不存在就建一個新的".vim"
在vim裏設定功能鍵F9 - 用它來開啟/關閉taglist功能
在/etc/vim/vimrc裏加入下面1行
map <f9> :Tlist<CR>
最後一個步驟,到你的原始程式目錄裏輸入

ctags -R *.c *.h

開啟vim xxx.c按F9
你就會看見如下圖的結果

畫面分成左右兩邊,切換方式用Ctrl-W-W

左邊畫面TagList只要按Enter就會自動跳到相對應的函式或定義

右邊的畫面:
Ctrl+] : 跳到游標所指function的implement 位置 ,注意游標要在function的第一個字。
Ctrl+t : 返回到剛剛的位置。

cs find
    s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
    g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
    d: 查找本函数调用的函数
    c: 查找调用本函数的函数
    t: 查找指定的字符串
    e: 查找egrep模式,相当于egrep功能,但查找速度快多了
    f: 查找并打开文件,类似vimfind功能
    i: 查找包含本文件的文件
範例: cs find t memset <-- memset="" pre="">

4 則留言:

martin 提到...

You should use
$ctags -R -h ".h.c.cpp.java"
like that.

$ctags -R *.c*.h
will appeared errors in ctags 5.8

易春木 提到...

thank you!



-h
Specify list of file extensions to be treated as include files.
[".h.H.hh.hpp.hxx.h++"].

Unknown 提到...

請問 最後一個步驟那邊 什麼是 “原始程式目錄”

史丹利 提到...

原始程式目錄, 指的就是你自己的source code目錄啊,
你必需要進入到自己的source code目錄之下, 去執行ctags的指令!

一個小故事讓我們明白資金流通的意義

“又是炎熱小鎮慵懶的一天。太陽高掛,街道無人,每個人都債台高築,靠信用度日。這時,從外地來了一位有錢的旅客,他進了一家旅館,拿出一張1000 元鈔票放在櫃檯,說想先看看房間,挑一間合適的過夜,就在此人上樓的時候---- 店主抓了這張1000 元鈔,跑到隔壁屠戶那裡支付了他欠的肉錢...