安装 ctags taglist

# emerge -av dev-util/ctags app-vim/taglist

使用 ctags 生成索引

在你的项目根目录中执行,会生成 tags 文件

$ ctags -R *
$ ls -l tags
-rw-r--r-- 1 user user 1273357 Aug 12 12:11 tags

在 vim 中使用 ctag 跳转

运行 vim 时,必须在 tags 文件所在的目录下运行 。

在文件内跳转

将光标移动到函数或变量上,再按快捷键 Ctrl + ],可直接跳转到定义处,按 Ctrl + T 可返回原处

命令行跳转

使用 vim -t 函数名 即可打开文件直接跳转到函数定义处

$ vim -t main

在 vim 中使用 taglist

vim 命令模式下输入 :Tlist 即可打开,再次输入关闭

taglist 配置

let Tlist_Show_One_File=1               " 不同时显示多个文件的 tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1             " 如果 taglist 窗口是最后一个窗口,则退出vim
let Tlist_Ctags_Cmd="/usr/bin/ctags"    " 将 taglist 与 ctags 关联

taglist 快捷键

快捷键说明
回车跳转到 tag 定义处
空格在 vim 底部显示 tag 的函数原型
o新窗口打开关标下的 tag
p跳转到 tag 的定义处,但光标仍留在 taglist 窗口内
u更新窗口中的 tag
s更改排序方式,按名字排序,按出现顺序排序,之间切换
x窗口放大和缩小
+打开一个折叠,同 zo
-将 tag 折叠,同 zc
*打开所有折叠,同 zR
=折叠所有 tag,同 zM
[[跳到前一个文件
]]跳到后一个文件
q关闭窗口
F1显示帮助