第一步安装GUN Global
建议使用源码安装,下载地址:http://tamacom.com/global/global-6.6.1.tar.gz。
解压文件,编译过程
./configure
make
make install
第二步配置vim
cp /usr/local/share/gtags/gtags.vim $HOME/.vim/plugin
vim $HOME/.vimrc
增加下面两行,开启gtags的快捷键(F2~F10)与自动更新
let g:Gtags_Auto_Map = 1
let g:Gtags_Auto_Update = 1
第三步生成代码索引
修改global配置文件,skips设置了要过滤的文件及目录
# cp gtags.conf /etc/gtags.conf # system wide config file.
# vi /etc/gtags.conf
$ cp gtags.conf $HOME/.globalrc # personal config file.
$ vi $HOME/.globalrc
生成代码索引
$gtags --skip-unreadable
Global关键技巧GTAGSLIBPATH:
因为Android的源码非常多所以,我们可将部分部分代码生成代码索引库文件。通过GTAGSLIBPATH来设定所有需要查找的源码索引,例如:
export GTAGSLIBPATH=/workdir/Android/frameworks:/workdir/Android/system:/workdir/Android/kernel
然后在frameworks、system、kernel下运行gtags,要想使用global 在查找时需要加上 操作选项 -T,如
global -T sendMessageDelayed
这样就会将frameworks、system下相关的信息都会列出,但如果想在VIM中使用查找光标所以符号时需要修改gtags.vim, 给GtagsCursor增加操作选项-T, 如下所示:
function! s:GtagsCursor()
let l:pattern = expand("")
let l:option = "-T --from-here=\"" . line('.') . ":" . expand("%") . "\""
call s:ExecLoad('', l:option, l:pattern, '')
endfunction
另外,有的C++代码的头文件是.h的,需要设置 export GTAGSFORCECPP=1,然后再生成tag。
VIM插件推荐
1、Vundle vim插件管理
2、Tagbar 源码文件符号表插件
3、qnamebuf 多文件编辑时buffer管理插件
VIMhttps://www.cnblogs.com/mo-wang/p/4550859.html
参考资料:https://www.cnblogs.com/jhj117/p/5531493.html