涉及linux平台下ctags, taglist插件
ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置。
ctags支持很多语言,比如java, c, c++, python, perl, php, ruby, scheme, tcl, vim, yacc, bash/kron shell/zsh, cobol, awk, asp, lisp, pascal等等,几乎流行的语言全都支持。
1.首先yum install ctags可以非常方便的安装ctags组件
2.taglist是vim的一个插件,你可以到vim的官网的插件页找一找,下载下来。
3.安装taglist
首先在你的家目录下建立一个.vim隐藏目录,如果此目录已经存在就不用再建立了。
然后$ cd .vim
然后$ unzip /path/to/taglist.zip ----得到doc和plugin两个文件夹;
将解压的两个文件夹放置在.vim目录下;
然后$ cd doc
然后$ vim
在vim中,执行:helptags . (注意这个点号!)
OK。你可以重启vim,taglist应该已经安装成功了
4.将ctags和taglist链接
首先在shell中执行which ctags,记住返回结果,我的是/usr/bin/ctags
用vim打开.vim/plugin/taglist.vim文件,找到if!exist(“loaded_taglist”)这一行,在此行上面 新加一行(大写O),加入如下内容: let Tlist_Ctags_Cmd=”/usr/bin/ctags”(即将ctags的文件路径填到这里)。
用vim打开~/.vimrc的文件:
- 如果你不想同时显示多个文件中的tag,设置Tlist_Show_One_File为1。缺省为显示多个文件中的tag;
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
- 如果你在想taglist窗口是最后一个窗口时退出VIM,设置Tlist_Exit_OnlyWindow为1;
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
- 如果你想taglist窗口出现在右侧,设置Tlist_Use_Right_Window为1。缺省显示在左侧。
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
如果你想显示taglist菜单,设置Tlist_Show_Menu为1。你可以使用Tlist_Max_Submenu_Items和Tlist_Max_Tag_Length来控制菜单条目数和所显示tag名字的长度;
缺省情况下,在双击一个tag时,才会跳到该tag定义的位置,如果你想单击tag就跳转,设置Tlist_Use_SingleClick为1;
- 如果你想在启动VIM后,自动打开taglist窗口,设置Tlist_Auto_Open为1;
- 如果你希望在选择了tag后自动关闭taglist窗口,设置Tlist_Close_On_Select为1;
- 当同时显示多个文件中的tag时,设置Tlist_File_Fold_Auto_Close为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。
- 在使用:TlistToggle打开taglist窗口时,如果希望输入焦点在taglist窗口中,设置Tlist_GainFocus_On_ToggleOpen为1;
- 如果希望taglist始终解析文件中的tag,不管taglist窗口有没有打开,设置Tlist_Process_File_Always为1;
- Tlist_WinHeight和Tlist_WinWidth可以设置taglist窗口的高度和宽度。Tlist_Use_Horiz_Window为1设置taglist窗口横向显示;
OK!链接成功
5.体验ctags+taglist
切换到你希望查看的源文件的所在目录,执行ctags -R,即递归的检索当前目录下的所有源文件,并建立索引。
用vim打开一个C源文件,将光标定位到某个函数或变量,按ctrl-],即可查看其对应的定义,再按ctrl-o(或ctrl-t)即可返回到原地。这种查询是以栈的方式管理的,所以你可以连续查询然后连续返回,最终完全可以返回到你打开文件时光标所在地。
在vim中执行:TlistToggle,可以发现在左侧出现了宏、函数、变量列表。按ctrl-w再按w,可以连续在左右窗口切换。
使用了ctags和taglist插件的vim
6.至此,vim的配置完成了。其实还有很多很多好用的插件可以安装到vim中来