使用 ctags 和 taglist 阅读C和C++源码
(1) ctags 使用
(i) 生成 tags 文件
进入源码根目录,例如 /local/zkl/Datacollector,执行命令 “ ctags -R * ” 将在该目录下生成整个源码的 tags 文件.
(ii) 使用vim编辑源码时加载 tags 文件
tags文件加载后,就可以在 vim 中使用相关命令查看相关源码了,例如当光标在函数调用处时,使用 ctrl+] 命令进入函数定义处,退回来使用 ctrl+T 组合键.
要想使用 vim 时加载 tags,有两种方法:
a) 设置vim配置文件 ~/.vimrc ,加入“ set tags=tags ”这样一行(注意不是 set tags=./tags)。
这表示当执行vim 命令时会加载当前目录下(执行vim命令时用户所在的目录)的tags文件.例如在源码根目录下执行 vim include/parapi.h 就会加载根目录下的 tags 文件
b) 在用vim打开文件后,执行 :set tags=tags (注意不是 set tags=./tags),这表示加载当前目录下的 tags 文件。
(2) taglist插件的使用
使用taglist插件可以查看源码文件的函数,变量等信息,对于阅读源码很有帮助.
插件下载地址: http://www.vim.org/scripts/script.php?script_id=273
解压后得到
plugin/taglist.vim
doc/taglist.txt
插件安装上面网页讲的很详细,这里做一下简单介绍:
复制plugin和doc两个目录到 $HOME/.vim or $HOME/vimfiles or $VIM/vimfiles 目录, 若无该目录,可以先创建。
例如:
[root@gd86 local]# mkdir -p ~/.vim/
[root@gd86 local]# cp taglist_45/* ~/.vim/ -r
注意目录结构是: $HOME/.vim/plugin/taglist.vim
进入 $HOME/.vim/doc 目录,启动vim 并执行命令": helptags ." ,这会处理 taglist 的帮助文件
重启 vim,可以使用命令 " :TlistToggle " 列出当前源码文件的代码,使用 ":help taglist " 查看更多用法。
-------------------------------------------------------------------------------
taglist窗口使用F1命令可以打开帮助菜单,主要如下:
" <enter> : Jump to tag definition
" o : Jump to tag definition in new indow
" p : Preview the tag definition
" <space> : Display tag prototype
" u : Update tag list
" s : Select sort field
" d : Remove file from taglist
" x : Zoom-out/Zoom-in taglist window 放大taglist窗口
" + : Open a fold 打开一个折叠项
" - : Close a fold 折叠一个项目
" * : Open all folds 打开所有
" = : Close all folds 折叠所有
" [[ : Move to the start of previous file
" ]] : Move to the start of next file
" q : Close the taglist window 关闭窗口
" <F1> : Remove help text
-------------------------------------------------------------------------------