yum install ctags
ctags 生成
$ ctags -R 生成当前目录以及子目录的tags文件
$ ctags f1.c f2.c f1.h 指定文件生成
$ ctags *.c *.h 当前目录所有c文件,不包括子目录
ctags 系统函数
ctags -I __THROW --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --fields=+S -R -f ~/.vim/systags /usr/include /usr/local/include
参数 -I __THROW部分和--c-kinds=+p部分。设置-I后,ctags会在处理文件时,就会忽略-I后面写出来的符号。
参数 --c-kinds=+p 告诉ctags需要为函数原型的声明也生成tag。
参数 --langmap=c:+.h表示.h视为c文件而不是c++文件。
设置你的~/.vimrc,加入一行: set tags+=~/.vim/systags
不足之处: 还是会有定位错误,比如说signal函数,会定位到/usr/include/drm/drm.h 的一个成员变量
当然也可以在函数处,直接shift+k 定位帮助
ctags 定位光标处函数或类
ctrl + ] 定位跳转
ctrl + o 或者 ctrl + t 返回
ctags 帮助
vim 环境 :help ctags
vim 快速定位,光标处单词出现位置:
* 下一个
# 上一个
n 下一个
shift+n 上一个