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."
(不复制也是可以的,需要将其添加进入环境变量中)。
将当中的 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
修改源代码
在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 ~~
本文出自 “小强技术博客” 博客,请务必保留此出处http://superpopb2b.blog.51cto.com/786164/681325