Vim基础篇(十四)——Ctags管理插件vim-gutentags

前言:
  Vim很多搜索或代码提示,跳转等插件都依赖Ctags,但是手动去管理Ctags太过麻烦,vim-gutentags就是一款自动管理ctags的插件。

1 安装nerdcommenter

  推荐插件 ludovicchabant/vim-gutentags 来管理Ctags,它也可以管理Gtags,不过我更喜欢用Leaderf自动管理gtags,因此本篇文章介绍vim-gutentags自动管理Ctags。
  在.vimrc文件中添加如下配置安装vim-gutentags。

1
Plug 'ludovicchabant/vim-gutentags'

  在Vim中运行指令 :PlugInstall 完成插件安装。

2 安装Ctags

  在Ubuntu中安装Ctags只需在终端输入以下指令即可完成安装。

1
sudo apt-get install ctags

3 配置vim-gutentags

  在配置文件中进行以下配置,具体可根据个人喜好进行修改。

1
2
3
4
5
6
7
8
9
10
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"ludovicchabant/vim-gutentags
let g:gutentags_project_root = ['.git', '.svn'] "工程根目录标识。
let g:gutentags_ctags_tagfile = '.tags' "生成数据文件名称。
let g:gutentags_cache_dir = expand('~/.vimcache/.gtcache') "指定缓存根目录,ctags保存在该目录下。

"Ctags配置参数。
let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
let g:gutentags_ctags_extra_args += ['--c++-kinds=+pxI']
let g:gutentags_ctags_extra_args += ['--c-kinds=+px']

  从打开项目的一份文件开始自动生成或更新Ctags文件,生成后即可在比如Leaderf中使用指令 :Leaderf function 搜索函数。使用用vim自带的跳转功能,通过 ctrl ] 跳转到光标下的函数定义处,使用 ctrl o 可跳转返回, ctrl i 又再跳回去。
  记得定期清理缓存文件,否则时间久了成垃圾文件占用磁盘空间。