ubuntu下ctags安裝和使用

2021-08-08 18:48:33 字數 2248 閱讀 6429

一.安裝

sudo apt-get install ctags

二.建立tags索引檔案

cd **目錄:ctags -r *

指令執行完後出現tags檔案

三./etc/vim/vimrc檔案底部增加:

set tags=..../tags

四.使用方法:

1.vim -t ***: 開啟定義***的檔案,命令列模式

2.「:ts」命令就能列出乙個列表供使用者選擇。

3.「:tp」為上乙個tag標記檔案。

4.「:tn」為下乙個tag標記檔案。

5.游標放到變數名函式名上,按下[ctrl]+],這樣就直接跳到變數函式定義處。

6.[ctrl]+o/t 回到原處。

最近在學習linux驅動時,想要在linux-2.6.29核心中找乙個重要的資料結構file_operations,但核心的檔案那麼多,所以就使用了乙個工具ctags,下面來說一下什麼是ctags,用我自己話說就是vim下的乙個方便閱讀**的工具,有了它可以很方便的找到乙個函式或者巨集等等的一些的定義的原型。對於在linux下開發的人員來說還是很方便的。

ubuntu 下ctags的安裝還是很簡單的,

輸入命令sudo apt-get install ctags 即可

,而我遇到了乙個在ubuntu下安裝軟時經常遇到的乙個問題

出現這個的原因可能是因為另乙個程式正在執行從而導致資源鎖不可用,而導致資源被鎖的原因可能是因為上次執行安裝或更新時沒有正常完成,解決方法只需要執行下面兩條命令就可以啦: 

sudo rm /var/lib/dpkg/lock 

sudo rm /var/cache/apt/achives/lock

安裝完ctags後就需要生成索引檔案

在原始碼目錄下輸入命令:ctags -r *                  "-r"表示遞迴建立,也就是包括源**根目錄(當前目錄)下的所有子目錄。「*」表示所有的檔案。這條命令會在當前目錄下生成乙個tags檔案,當使用者在當前目錄中執行vim時,會自動載入此tags檔案。tags檔案中包括這些物件的列表:用#define定義的巨集、列舉型別變數的值,函式的定義、原型和宣告,名字空間(namespace)、型別定義(typedef)、變數(包括定義和宣告)、類(class)、結構體,聯合體和聯合體中成員變數或函式。vim 用這個tags檔案定位上面這些做了標記的物件。結果如下:

然後配置ctags

使用sudo vim /etc/vim/vimrc 編輯vim配置文件,在其中加入如下的命令:set tags=tags檔案的路徑;,例如我的tags檔案路徑為/home/xinyang/tags  所以我的可以這樣加  set tags=/home/xinyang/tags; ,如果需要配置多個tags,只需要在後面新增就行了

下面就該使用ctags

vim 中使用ctags最方便的方法就是把游標移到變數名或者函式名上,然後按

下" ctrl + ] ",

這樣就能直接調到這個變數或者函式的定義的原始檔中,並把游標定義到這一行。用

"ctrl + t" 可以i退回原來的地方

。即使我們使用了n次

" ctrl + ] "查詢了n個變數,按n次

"ctrl + t"

也能回到最初開啟的檔案,它會按原路返回的。

我寫了個測試程式,有三個檔案test.h   test.c  test1.c  其中test.h中放了函式的宣告my_add(int ,int )     my_sub(int ,int), 檔案test1.c 中放兩個函式的實現,test.c 呼叫這個函式。然後進入test.c 中,把游標移到my_add(int a,int b )上,按下

" ctrl + ] "

,結果竟然沒有找到函式的定義,這是為什麼呢???

原因是這樣的,這三個檔案是後來加進去的,也就是說其中的tags索引中並沒有這三個檔案中的函式的一些索引資訊。所以找不到,解決辦法很簡單,就是再次在終端輸入命令 :ctags -r * ,這樣新生成的tags檔案中就可以找到新加的檔案中的函式的資訊,然後就順利找到了

注意:執行vim的時候,必須在「tags」檔案所在的目錄下執行,否則,執行vim 的時候還要用「.set tags="tags 檔案路徑"。這樣vim才能找到tags檔案,完成後可以手工刪掉tags檔案

Ubuntu下vim中ctags的配置方法

ubuntu下vim中ctags的配置方法 2 建立原始碼索引 在終端進入到需要增加原始碼索引的目錄後 如framework base 輸入命令ctags r,你會發現多了乙個tags檔案,這個就是索引檔案.3 向vim註冊索引檔案tags的路徑 用root使用者在終端輸入vim etc vim v...

Ubuntu下vim中ctags的配置方法

ubuntu下vim中ctags的配置方法 在終端輸入如下命令 apt get install ctags 比如我經常需要查閱linux的核心 而這些 放在 root linux 2.6.14目錄下,那麼在終端進入到該目錄後,輸入命令ctags r,你會發現多了乙個tags檔案,這個就是索引檔案.用...

Ubuntu下vim中ctags的配置方法

ubuntu下vim中ctags的配置方法 在終端輸入如下命令 apt get install ctags 比如我經常需要查閱linux的核心 而這些 放在 root linux 2.6.14目錄下,那麼在終端進入到該目錄後,輸入命令ctags r,你會發現多了乙個tags檔案,這個就是索引檔案.用...