vim是linux 下的文本编辑器。也可壹用作C源码阅读的工具,例如nginx或kernel的源码。

首先你要下载两个文件,tagslist和ctags 

tagslist的下载地址: http://ctags.sourceforge.net 或者

http://www.vim.org/scripts/download_script.php?src_id=7701

ctags的下载地址:http://ctags.sourceforge.net

其中 ctags是一个命令,下载的是源码包,需要你编译安装。

编译安装好了后。将tagslist解压的文件,拷贝到 $HOME/.vim/下去,如果.vim/目录不存在。

创建目录。然后配置 $HOME/.vimrc,添加如下指令

let Tlist_Ctags_Cmd='/usr/local/bin/ctags'

注意这个路径是你安装ctags的路径,我是用的默认的安装路径

有关的其他选项配置 Tlist_Use_Right_Window 设置tagslist的窗口位置,默认为0在左边

设为1的话在右边

Tlist_Use_SingleClick 设置单击跳转,默认是0,双击tag才会跳转,设置为1单击跳转

Tlist_Auto_Open 设置为1 打开vim自动开启taglist

Tlist_Close_On_Select 设置为 1,则在选中tag时自动关闭taglist的窗口

Tlist_File_Fold_Auto_Close 设置为1,则在显示有多个文件的tag时,只显示当前的文件

的tag,其他都被折叠起来。

设置的格式都是在 $HOME/.vimrc的文件中增加 ,使用let赋值。

然后进入要阅读的源码文件目录下,生成文件树,如下的命令

ctags -R 

现在可以打开一个C文件,在vim的命令状态输入 :TlistToggle 就会出现函数列表,

CTL+ww(2次w)就可壹将光标切换到函数列表,将光标移动到函数名上面,“会车”就

可以阅读那个函数了

收集了一些TagsList的快捷键

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样

o             在一个新打开的窗口中显示光标下tag

<Space>       显示光标下tag的原型定义

u             更新taglist窗口中的tag

s             更改排序方式,在按名字排序和按出现顺序排序间切换

x             taglist窗口放大和缩小,方便查看较长的tag

+             打开一个折叠,同zo

-             将tag折叠起来,同zc

*             打开所有的折叠,同zR

=             将所有tag折叠起来,同zM

[[            跳到前一个文件

]]            跳到后一个文件

q             关闭taglist窗口

<F1>          显示帮助