gvim使用户能够在Windows环境下,能够像利用Linux的vim工具进行文本编辑,特别是程序编写,并且,很多插件都可用。但是,毕竟Windows环境不同于Linux环境,很多插件安装都非常困难。

(1)ctag与taglist

    这两个工具,为我们提供类似Visual Studio一样的,左侧的那种函数列表。并且,安装非常简单。其步骤来源于http://www.cnblogs.com/zourrou/archive/2011/04/05/2005517.html。在我的使用中,配置稍微进行了改动。

一, 下载ctags,将其中的 ctags.exe 复制到gvim.exe 所在的目录,我的是 C:\Program Files\Vim\vim73
如果不复制的话,会出现
"Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH.
Plugin is not loaded."
(不复制也是可以的,需要将其添加进入环境变量中)。
 
二, 下载taglist.zip文件,解压,
    将当中的 doc\taglist.txt 文件复制到 C:\Program Files\Vim\vimfiles\doc
    将当中的 plugin\taglist.vim 文件复制到 C:\Program Files\Vim\vimfiles\plugin
 
三,cmd 下,进入cd C:\Program Files\Vim\vimfiles\doc 目录,运行gvim.exe,输入":helptags ." ,重启gvim.exe。到这一步已经完成安装taglist了。
 
四,打开任意一个代码文件,输入 ":Tlist" ,就可以打开/关闭 taglist
       
(2)cscope
    这个工具能够让我们查询一个函数或者变量声明和定义在哪里,到底有多少个引用等等。感觉不甚好用,而且安装过程那叫一个复杂!由于官方发布的版本是源码包,需要我们自行编译,而编译又配置非常复杂的环境。
第一步:安装Mingw。
    去Sourceforge上面下载就可以了。这里需要说的是,国内下载sourceforge上的东西非常慢,这里找到一个很好的镜像站,网速比原来的站点好很多了,而且资源按照索引组织,非常好找。找到Mingw项目。安装文件是自动从Sourceforge上面寻找资源下载的,稍微大一点的文件就会宣告失败。此时需要手动下载,根据文件名结合器资源组织方式去镜像站查找即可。比如 gcc-3.4.4-3-msys-1.0.13-bin.tar.lzma,就在msys/gcc目录下查找,下载完成后,需要把文件名修改正确(后缀是lzma)。
    安装完成后,需要将Mingw/bin和Mingw/sys/1.0/bin和Mingw/sys/1.0/local/bin添加进入环境变量,这样才比较方便。
第二步:安装工具集GetGnuWin32。
    还是去sourceforge镜像站找就行了,几兆大小,比较好安装。
第三步:除此之外,编译scope还需要几个组件。
    1. Regex库。可以去Sourceforge上面下载单独的Regex,也可以去Mingw项目中下载。我采用后者的方法。下载项目目录下的mingw-libgnurx-2.5.1-dev.tar.gz,将include中的regex.h放进MinGW的include目录,将lib中的libgnurx.dll.a和libregex.la放进MinGW的lib目录。下载其中的mingw-libgnurx-2.5.1-bin.tar.gz,将libgnurx-0.dll放进程序所在目录。(转自: http://blog.creke.net/766.html)。如果没有安装,会在configure的时候,报告找不到regex.h的头文件。
    2. pdcurses工具。还是去sourceforge上或者Mingw的项目中下载。(可以下载那个.exe文件,但是安装之后实质上还是生成几个文件,依然需要执行后面的步骤。)解压后执行三个步骤(转自 http://comptb.cects.com/1848-adding-pdcurses-to-mingw):
  • pdcurses.lib to MingW’s “/lib” folder
  • cursors.h and panels.h to MingW’s “/include” folder
  • pdcures.dll to MingW’s “/bin” folder
   3. pcre工具。去sourceforge镜像站下载pcre-x86-mingw4-8.12-src.tar(需要搜索,不在Mingw的项目中)。这个工具比较麻烦,需要我们自行编译。由于之前安装了Mingw,因此,这里直接打sh命令进入shell,解压、./configure make make install方法进行编译和安装,安装得到的文件在Mingw/sys/1.0的文件夹下。这时,需要像安装pdcurses工具一样,将.lib .h .dll文件复制到Mingw的相应文件夹下。
第四步:编译安装scope
    经过这么多准备工作,终于可以开始我们的安装了。安装方法来自 http://blog.csdn.net/mslk/article/details/1598513。这份资料讲述了15.6版本的安装方法,虽然sourceforge上最新版本是16.7a,但是由于新版的编译过程中总会报错(某个宏所指代的变量无法识别),依然选用旧版本安装。 安装完成后,依然要将其加入环境变量!此外,还需要为scope添加环境变量TMPDIR,如set TMPDIR=c:/temp,一劳永逸的话,将其加入到系统变量中!(转自 http://blog.csdn.net/cohowang/article/details/4393258
   修改源代码
在 cmd窗口中进入cscope-15.6的目录执行:
1、 sh configure –build=mingw32
需要等几分钟,在最后能看到信息: config.status: creating src/Makefile 就行了
1、 进入 src 目录
2、 打开编辑 global.h ,在文件最后 #endif /* CSCOPE_GLOBAL_H */ 的前面,加上两行:
#define __DJGPP__
#define __MSDOS__
3、 打开编辑 exec.c ,注释掉41行: //#include <sys/wait.h>
4、 打开编辑 mypopen.c ,注释掉37行: //#include <sys/wait.h>
注释掉84、85行:
//if(fd != -1 && (fcntl(fd, F_SETFD, CLOSE_ON_EXEC) != -1))
//return(fd);
5、 打开编辑 find.c ,注释掉1160行: //(void) sleep(3);
6、 打开编辑 main.c
修改360行 orig_umask = umask(S_IRWXG|S_IRWXO); 为:
orig_umask = umask(S_IRWXU);
修改363行 if(mkdir(tempdirpv,S_IRWXU)) { 为:
if(mkdir(tempdirpv)) {
注释掉378行: //signal(SIGQUIT, myexit);
注释掉381行: //signal(SIGHUP, myexit);
注释掉404行: //signal(SIGPIPE, SIG_IGN);/* | command can cause pipe signal */
修改895行 if (sig == SIGQUIT) { 为:
if (sig == SIGTERM ||
sig == SIGABRT ||
sig == SIGBREAK){
修改175行 fprintf(stderr, "%s: version %d%s/n", argv0, 为:
fprintf(stderr, "%s: version %d%s./tCompiled by MSLK/n", argv0,
7、 打开编辑 Makefile
修改133行 CURSES_LIBS = -lcurses 为:
CURSES_LIBS = -lpdcurses –lpcre
三、 编译cscope,在 cmd窗口中进入cscope-15.6/src的目录执行
make –k
cscope –V 瞧一下自己编译的最新版本,很爽吧。
 

(3)omnicppcomplete.vim

    最麻烦的已经过去了,后面两个都非常容易安装。这个工具提供类似Visual Studio的自动补齐功能。按照说明将插件安装到vimfile下。具体方法:

    after\ftplugin\cpp.vim
    after\ftplugin\c.vim
 
    autoload\omni\common\debug.vim
                        \utils.vim
 
    autoload\omni\cpp\complete.vim
                     \includes.vim
                     \items.vim
                     \maycomplete.vim
                     \namespaces.vim
                     \settings.vim
                     \tokenizer.vim
                     \utils.vim
 
    doc\omnicppcomplete.txt

(4)a.vim

    这个是最容易安装的,因为只有一个文件,复制到plugin目录过去即可。这个工具提供快速的的.cpp和对应的.h文件的切换。直接可以:A,打开.cpp和.h对应的文件,:AV,打开.cpp和.h对应的文件,并且分屏。

(5)编写vimrc配置文件

    这需要技术的!不过我们只要使用Gvim,拿来网上写好的配置即可。vim的程序世界给出的脚本已经很好了!照抄~

http://www.vimer.cn/?p=91  http://www.vimer.cn/?p=114 http://www.vimer.cn/?p=150

(6)注意

    到这里,一个强大的Gvim就配置完成了。本来以为相当好用的,结果发现就那么回事,呵呵,忍了吧,折腾了一天的成果呀。需要解析的源码,不能包括中文的文件名和中文的路径,一定要注意!另外,使用scope,每次要将解析的文件用命令加进去!

(7)结语

    安装就告一段落,真正要发挥其作用还要很好的去使用这些工具。装这个折腾了一天一宿,费了我好几块的流量不说,项目进度又要推迟了。唉~我该如何面对俩老板~~~~~o(>_<)o ~~