1.安装依赖的库
sudo apt build-dep global
sudo apt install libncurses5-dev libncursesw5-dev
2.去GNU GLOBAL 官方下载最新的global包并解压
wget https://ftp.gnu.org/pub/gnu/global/global-6.6.5tar.gz
3.编译安装
./configure --with-sqlite3 # gtags可以使用Sqlite3作为数据库, 在编译时需要加这个参数
make -j2
sudo make install
4.将生成的文件拷贝到.vim对应的目录
cp gtags-cscope.vim gtags.vim ~/.vim/plugin/
- 切到源码目录,使用以下命令生成索引文件:
GPATH GRTAGS GTAGS
gtags
6. 配置 ~/.vimrc
"gtags 设置项
set cscopetag " 使用 cscope 作为 tags 命令
set cscopeprg='gtags-cscope' " 使用 gtags-cscope 代替 cscope
let GtagsCscope_Auto_Load = 1
let CtagsCscope_Auto_Map = 1
let GtagsCscope_Quiet = 1
let gtags_file=findfile("GTAGS", ";") "查找 gtags 文件
if !empty(gtags_file)
exe "cs add" gtags_file
endif
7. 使用示例
- 7.1在源码根目录中,可以查找某个函数,然后打开文件
xxf@ubuntu:/usr/src/linux-source-5.4.0/linux-source-5.4.0$ global -x fat_add_entries
fat_add_entries 1285 fs/fat/dir.c int fat_add_entries(struct inode *dir, void *slots, int nr_slots,
Ctrl+} 跳转到函数定义处
Ctrl+t 跳转回来