Vim Ctags使用
-
Ctags的安装
$ sudo apt-get install exuberant-ctags
-
Ctags的使用
$ cd src_name $ ctags *.cpp
执行完这一步以后就可以看到文件夹内多出了一个tags的纯文本文件
-
tags纯文件中关键字后带有c的意味着是class,f意味着是function
-
手动执行ctags
在vim中执行
:!ctags -R
该命令将从vim当前的工作目录开始,遍历其所有的子目录,并为其中的每个文件建立索引。再将这个标签文件保持到当前的工作目录中。
==按下F5==自动完成索引的更新工作
:nnoremap <f5> :!ctags -R<CR>
-
每次保存文件自动执行ctags
:autocmd BufWritePost * call system("ctags -R")
-
使用vim的标签跳转命令,浏览关键字的定义
6.1 ctrl+] 浏览整个代码库并切换到定义所在的缓冲区
6.2 ctrl+t 后退
6.3 ctrl+] 在存在多个匹配时会依据优先级进行跳转,使用g<ctrl+]>则可以通过选择列表中的数字进行跳转。
6.4 :tselect 调出标签匹配列表,从而进行回溯
6.5 :tprev 调出上一个匹配的标签,:tfirst第一个匹配的标签,:tlast最后一个匹配的标签。
-
通过使用:tag {keyword}和:tjump {keyword}可以不将光标移动到关键字上便完成跳转。分别等同于<C-]>与
g<C-]>
-
手动输入:tag Fan并按下tab键vim会将这段内容扩展为完整的Francophone。
-
手动输入:tag /{pattern}或:tjump /{pattern}可以浏览所有以phone为结尾的关键字定义。
参考
《VIM实用技巧》第六部分