一般来说,在代码中跳转,离不开 ctags。
实际上,vim 中代码跳转是由 vim tags 模块完成的,tags 模块依赖于 tags 文件。
ctags(Generate tag files for source code) 是产生 tags 文件的。
tags 文件只包含了函数、类、变量的定义的信息,而没有包含使用信息。
如果要知道一个函数都在什么地方使用过,需要使用 cscope。
ctags 默认是不会自动生成 ctags 文件的,常用的 3 个生成命令如下:
$ ctags * $ ctags -R $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
详细的说明,见 vim 的 tags 帮助文档。
:help tags
命令、快捷键、功能描述如下:
对于存在多个匹配的 tag(如, 在 .h 和 .cpp 中都声明或者定义的方法名):
set tags=tags; # ; 不可省略,表示若当前目录中不存在tags, 则在父目录中寻找。 map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
vim 的 tags 模块 与 ctags,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/misspy/p/3832838.html