1 插件列表

1.1 CTags

CTags用来给源代码生成索引文件,以便于文本编辑器快速定位符号位置(变量、函数、类等)。

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

使用方式:在代码的根目录执行如下命令即可生成tag文件:

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

这个命令有点长,可以在.vimrc的文件中加个键盘映射,像下面的样子,这样只需要按下CTRL+F12即可生成tag文件了。

map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

另外,如果需要指明源代码的语言,则需要加上--languages=c(使用C语言)的参数。

1.2 TagList

TagList是一款基于CTags的VIM插件,用来显示代码的结构概况。

下载地址:http://www.vim.org/scripts/script.php?script_id=273

配置方式:在~/.vimrc文件中,增加如下配置:

let Tlist_Auto_Open = 1
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1

其中第一行配置为当发现开启的文件为源代码时,则自动打开TagList,建议打开这个选项,不然每次都都手动执行TlistToggle来开关TagList窗口。

1.3 CScope

CScope是一个C语言的浏览工具,可以快速找到函数、变量的定义位置及调用信息。

下载地址:http://cscope.sourceforge.net

使用方式:在代码的根目录执行下面的命令,即可生成CScope的索引文件:

cscope -Rbkq

其中,-R表示递归建立索引,-b表示不启动CScope的用户界面,-k表示生成索引文件时不搜索/usr/include目录,-q表示生成cscope.in.outcscope.po.out文件,以加快索引速度。

1.4 OmniCppComplete

OmniCppComplete是VIM中对结构体的成员变量、类的属性或方法提供实时提示及补全功能的插件,依赖CTags工具生成的索引文件。

下载地址:http://www.vim.org/scripts/script.php?script_id=1520

配置方式:无需配置,插件安装后即自动生效,在写代码时,输入一个结构体变量的名称后,当继续输入.->字符后,会自动弹出该结构体中的所有变量列表,可以上下选择,然后按回车自动补全。

1.5 SuperTab

SuperTab可以简化补全代码的方式,直接按TAB键即可(之前需要按CTRL+XCTRL+O)。

下载地址:http://www.vim.org/scripts/script.php?script_id=1643

配置方式:SuperTab插件是Vimball的安装格式,不需要手动拷贝插件,直接用VIM打开,然后执行:so %即可完成安装。安装后需要在~/.vimrc文件中增加如下配置:

let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType="<C-X><C-O>"

1.6 MiniBufExplorer

当需要同时编辑多个文件的时候,MiniBufExplorer可以在VIM顶部以标签形式显示当前打开的文件列表,并可以在各文件间快速切换。

下载地址:http://www.vim.org/scripts/script.php?script_id=159

配置方式:在~/.vimrc文件中增加如下配置:

let g:miniBufExplMapWindowNavVim = 1 
let g:miniBufExplMapWindowNavArrows = 1 
let g:miniBufExplMapCTabSwitchBufs = 1 
let g:miniBufExplModSelTarget = 1

1.7 Command-T

Command-T用于在VIM快速定位文件,通过:CommandT呼出Command-T窗口,然后直接输入文件名,在输入的过程中文件列表会逐渐缩小范围,并可以通过CTRL+kCTRL+j上下选择文件,选定后按回车即可打开文件。

下载地址:http://www.vim.org/scripts/script.php?script_id=3025

安装方式:Command-T插件为Vimball安装格式,首先用VIM打开安装文件,执行:so %安装插件,然后执行下面的命令:

cd ~/.vim/ruby/command-t
ruby extconf.rb
make

注:安装需要Ruby开发环境。

1.8 CtrlP

CtrlP是另一个快速定位文件的插件,通过:CtrlP呼出查找窗口,用法和Command-T一样,而且支持正则,另外不需要Ruby运行环境,安装起来更方便。

下载地址:http://www.vim.org/scripts/script.php?script_id=3736

配置方式:在~/.vimrc中增加如下配置选项:

let g:ctrlp_working_path_mode = 'ra'

"" MacOSX/Linux
set wildignore+=*/tmp/*,*.so,*.swp,*.zip

"" Windows
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe

let g:ctrlp_custom_ignore = {
  \ 'dir':  '\v[\/]\.(git|hg|svn)$',
  \ 'file': '\v\.(exe|so|dll)$',
  \ 'link': 'some_bad_symbolic_links',
  \ }

1.9 A.VIM

A.VIM是用于.c.h文件间的快速切换的插件。

下载地址:http://www.vim.org/scripts/script.php?script_id=31

配置方式:无需配置,插件安装后执行:A即可完成.c.h文件间的切换。

2 运行效果

VIM开发环境配置效果

注:图中的效果除了上面的插件配置,还包括了其它对VIM的基本配置,见《我的VI配置文件》


Comments