• gvim与插件的安装(ctag、taglist、cscope等)


     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 ~~

    本文出自 “小强技术博客” 博客,请务必保留此出处http://superpopb2b.blog.51cto.com/786164/681325

  • 相关阅读:
    Linux日志文件utmp、wtmp、lastlog、messages
    Linux日志五大命令详解
    php 函数合并 array_merge 与 + 的区别
    MySQL对数据表进行分组查询(GROUP BY)
    如何在mysql中查询每个分组的前几名
    Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令
    linux 查看磁盘空间大小
    js刷新页面方法大全
    [知乎有感] 读研到底为了什么,值不值得?
    [Hadoop] 在Ubuntu系统上一步步搭建Hadoop(单机模式)
  • 原文地址:https://www.cnblogs.com/batys/p/2278283.html
Copyright © 2020-2023  润新知