为了方便使用Vim阅读源代码,Tag List 这个Vim插件不可或缺。这是一个用来浏览源代码的Vim插件,使用它我们可以概览源代码的结构并在各个源文件中跳转浏览,非常方便。
然而,系统自带的Ctags功能比较简单,支持的语言也少(如不支持C++、Java等语言),所以推荐安装更强大的Exuberant Ctags。Exuberant Ctags最初由Darren Hiebert编写并随Vim发布,但在Vim6时独立出来为一个项目,它提供了对更多的编程语言(支持多达41种语言,并可以添加自定义语言),同时兼 容原始Ctags的索引文件格式,除此之外很多的Vim插件也只支持Exuberant Ctags,所以最好把它装上。
接下来我们在Mac下编译安装Exuberant Ctags:
首先到官方网站下载Exuberant Ctags的源代码,最新版本是5.8。
接着解压到本地并进入文件夹,确保你的Mac上面已经安装了XCode之后,就可以开始编译安装Exuberant Ctags:
./configure make sudo make install
根据这几个简单的步骤,Exuberant Ctags就会被安装在/usr/local/目录下了,但是由于系统中原先已经内置了Ctags,如果没有将/usr/local/bin添加到系统路 径中的话,默认执行的是/usr/bin/ctags,可以在命令行中执行:
which ctags
如果返回的不是/usr/local/bin/ctags,那么就需要在~目录下的.profile文件中加入以下语句:
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
然后命令行中执行:
source ~/.profile
或者直接在~/.vimrc中加入以下配置语句:
let Tlist_Ctags_Cmd="/usr/local/bin/ctags"
不过还是推荐第一种做法,因为通常用户自行安装的软件安装到/usr/local目录下会比较合适,这样做的好处可以参考这篇文章,所以不妨先把路径加 到$PATH变量中。
Exuberant Ctags安装完毕之后就可以安装Tag List插件了,在官方网站上下载Tag List然后解压,将plugin文件夹中的taglist.vim复制到~/.vim/plugin/中,将doc文件夹中的taglist.txt复 制到~/.vim/doc/中,如果~目录下没有对应的文件夹请自行创建。
最后,处理Tag List的帮助文件,先命令行进入~/.vim/doc文件夹,然后启动Vim,在Vim中执行(注意命令中的”.”):
:helptags .
安装完毕!接下来就是对Tag List进行配置了,Tag List提供了很多的配置参数,用户可以根据自己的使用习惯和需要在Vim的配置文件中进行设置,查看详细的帮助信息可以在Vim中执行:
:help taglist.txt
下面列举一些常用的配置:
在~/.vim/plugin/taglist.vim中添加:
let Tlist_Auto_Open=0 " Let the tag list open automatically
let Tlist_Auto_Update " Update the tag list automatically
let Tlist_Compact_Format=1 " Hide help menu
let Tlist_Ctags_Cmd='ctags' " Location of ctags
let Tlist_Enable_Fold_Column=0 "do show folding tree
let Tlist_Process_File_Always=1 " Always process the source file
let Tlist_Show_One_File=1 " Only show the tag list of current file
let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
let Tlist_Sort_Type="name" " Order by name
let Tlist_WinWidth=40 " Set the window 40 cols wide.
let Tlist_Close_On_Select=1 " Close the list when a item is selected
let Tlist_Use_SingleClick=1 "Go To Target By SingleClick