天天看點

ctags的安裝及應用一、ctags簡介二、ctags使用

一、ctags簡介

    ctags(Generate tag files for source code)是vim下友善代碼閱讀的工具。盡管ctags也可以支援其它編輯器,但是它正式支援的隻有VIM。并且VIM中已經預設安裝了Ctags,它可以幫助程式員很容易地浏覽源代碼。

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

二、ctags使用

1、安裝

    到ctags官網(http://ctags.sourceforge.net/)下載下傳源碼,解壓後         $ ./configure         $ make         $ sudo make install     如果你使用的是Ubuntu系統(Debian),那麼可以使用如下指令直接安裝:sudo apt-get install ctags

2、生成索引檔案

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

3、ctags配置

    使用sudo vim /etc/vim/vimrc 編輯vim的配置文檔,在其中加入如下指令:         set tags=/home/joey/uClinux-azure/buildroot/linux/linux-kernel/tags;  後面的路徑是使用ctags -R 後生成的tags檔案所在目錄,如果需要配置多個tags,隻需如下再添加即可         set tags=/mnt/hgfs/uClinux-code/ABC3000_src/tags;         set autochdir

4、使用

    熟練的使用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 -t main這個指令将打開定義“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檔案(帚把不到,灰塵不會自己跑掉^_^)。

繼續閱讀