使用vim加ctags使vim查看定义更方便

使用vim加ctags使vim查看定义更方便

 

安装ctags

在vim如果想查看一个类或者函数的定义,在没有安装ctags的情况下,很困难,你可以使用查找的方法,但是不那么方便。

有了ctags就非常方便。

使用ctrl+]

就直接跳转到定义处。

先安装ctags

apt-get install ctags

yum install ctags

 

使用ctags

然后在你的工程目录执行:

ctags -R

你现在试试

ctrl+]

能否跳转到正确的位置。

但是此时你发现如果是系统定义的类型,那么你没有办法,那是因为我们只让ctags检测本本工程文件夹下面的tags。要做到识别系统tag,执行

ctags -f tags -h ".h" -R –c-kinds=+p –fields=+iaS –extra=+q /usr/include

 

可能遇到的问题和解决办法

当你cd到工程目录的某一子目录后, 在使用vim打开某个文件的时候,再次使用 ctrl+]的时候发现并不能定位到对应的定义,提示说找不到,这是因为我们在工程的总目录执行的

ctags -R

生成的tags文件只存在工程根目录下面,因此不可以在子目录使用这个tags,所以使用的tags的前提是在执行目录下面使用vim打开子目录的文件。

如果想在子目录中也可使用生成的tags文件,可以使下面的命令:

set tags=tags;

这个命令告诉vim找tags的文件作为tags,后面的分号非常重要,因为如果不加tags,就是在当前的目录查找,加上,vim会一级一级的往上找,直到找到这个tags文件。

为了方面你也可以直接将这个命令加入到 .vimrc 中.

vimwiki中提到使用这个命令需要开启 autochdir,但是我测试的结果是不需要,所以如果你执行上面的命令觉得不可以,可以执行下面的命令,

set autochdir

 

插件

有个插件可以自动完成上述的操作,并且在你编辑文件的同时会更新tags文件,并且会语法高亮用户自定义的类型,这点默认的语法高亮是办不到的。

http://www.vim.org/scripts/script.php?script_id=3114

 

 

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示