安装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
完
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.