ctags: 产生标记文件以帮助在源文件中定位对象。
ctags -R --c++-kinds=+px --fields=+iaS --extra=+q .
每个参数解释如下:
-R:ctags循环生成子目录的tags
--c++-kinds=+px :ctags记录c++文件中的函数声明和各种外部和前向声明
--fields=+iaS :ctags要求描述的信息,其中i表示如果有继承,则标识出父类;a表示如果元素是类成员的话,要标明其调用权限(即是public还是private);S表示如果是函数,则标识函数的signature。
--extra=+q:强制要求ctags做如下操作—如果某个语法元素是类的一个成员,ctags默认会给其记录一行,可以要求ctags对同一个语法元素再记一行,这样可以保证在VIM中多个同名函数可以通过路径不同来区分。
ctags –R *
把光标移动到某个元素上 CTRL+],就会跳转到对应的定义 CTRL+o可以回退到原来的地方 “Ctrl+t”可以退回原来的地方
当前光标下是个局部变量,在VIM里输入gd的话,就会跳到这个局部变量的定义处
如果这个变量或函数有多处定义,在VI命令行模式
“:ts”命令就能列出一个列表供用户选择。
“:tp”为上一个tag标记文件,
“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。
[/usr/src]$ vim -t main
这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。
【实践】
:ts --> 空格 --> 数字 --> Enter