ctags

ctags

ctags(Generate tag files for source code)是vim下方便代碼閱讀的工具。儘管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程式設計師很容易地瀏覽原始碼。

ctags簡介

ctags 最先是用來生成C代碼的tags檔案,後來擴展成可以生成各類語言的tags, 有些語言也有專有的tags生成工具(比如java的jtags, python的 ptags).

ctags使用

安裝

到ctags官網 下載源碼,解壓後

$ ./configure

$ make

$ sudo make install

如果你使用的是Ubuntu系統(Debian),那么可以使用如下命令直接安裝:sudo apt-get install ctags

生成索引檔案

在源碼目錄下執行

$ctags –R .

“-R”表示遞歸創建,也就包括原始碼根目錄(當前目錄)下的所有子目錄。“*”表示所有檔案。這條命令會在當前目錄下產生一個“tags”檔案,當用戶在當前目錄中運行vi時,會自動載入此tags檔案。Tags檔案中包括這些對象的列表:用#define定義的宏枚舉型變數的值函式的定義、原型和聲明名字空間(namespace)類型定義(typedefs)變數(包括定義和聲明)類(class)、結構(struct)、枚舉類型(enum)和聯合(union)類、結構和聯合中成員變數或函式VIM用這個“tags”檔案來定位上面這些做了標記的對象。

ctags配置

使用sudo vim /etc/vim/vimrc 編輯vim的配置文檔,在其中加入如下命令:

set tags=/home/zhouyl/linux-3.4.7/tags;"後面的路徑是使用ctags -R 後生成的tags檔案所在目錄,如果需要配置多個tags,只需如下再添加即可

set tags=/home/zhouyl/rap/libpcap-1.3.0/tags;

set autochdir

使用

熟練的使用ctags僅需記住下面七條命令:

1.$ctags –R * ($為Linux系統Shell提示符,這個命令上面已經有所介紹)

2. $ vi –t tag (請把tag替換為您欲查找的變數或函式名)

3.:ts(ts助記字:tagslist, “:”開頭的命令為VI中命令行模式命令)

4.:tp(tp助記字:tagspreview)---此命令不常用,可以不用記

5.:tn(tn助記字:tagsnext) ---此命令不常用,可以不用記

6.Ctrl+ ]跳到游標所在函式或者結構體的定義處

7.Ctrl+ T返回查找或跳轉

“$vi –t tag” :在運行vim的時候加上“-t”參數,例如:[/usr/src]$vim -tmain這個命令將打開定義“main”(變數或函式或其它)的檔案,並把游標定位到這一行。如果這個變數或函式有多處定義,

在VI命令行模式 “:ts”命令就能列出一個列表供用戶選擇。

“:tp”為上一個tag標記檔案,

“:tn”為下一個tag標記檔案。

當然,若當前tags檔案中用戶所查找的變數或函式名只有一個,“:tp,:tn”命令不可用。

(最方便的方法是把游標移到變數名或函式名上,然後按下“Ctrl+]”,這樣就能直接跳到這個變數或函式定義的源檔案中,並把游標定位到這一行。用“Ctrl+T”可以退回原來的地方。即使用戶使用了N次“Ctrl+]”查找了N個變數,按N次“Ctrl+t”也能回到最初打開的檔案,它會按原路返回 。

注意:運行vim的時候,必須在“tags”檔案所在的目錄下運行。否則,運行vim的時候還要用“:set tags=”命令設定“tags”檔案的路徑,這樣vim才能找到“tags”檔案。在完成編碼時,可以手工刪掉tags檔案(帚把不到,灰塵不會自己跑掉^_^)。

相關詞條

熱門詞條

聯絡我們