Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 3065|回复: 0

[默认分类] Gvim开发环境配置笔记--Windows篇

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-12 16:49:49 | 显示全部楼层 |阅读模式
    环境:Windows7 旗舰版
    1、安装Gvim7.3 : 下载地址http://www.vim.org/download.php#pc
    2、安装中文帮助:vimcdoc-1.8.0-setup.exe 地址http://vimcdoc.sourceforge.net/
          会自动识别gvim的安装路径,
          安装完后,gvim菜单中文出现乱码,在_vimrcset文件中增加:
    " 配置多语言环境,解决中文乱码问题
    if has("multi_byte")
        " UTF-8 编码
        set encoding=utf-8
        set termencoding=utf-8
        set formatoptions+=mM
        set fencs=utf-8,gbk
        if v:lang =~? "^/(zh/)/|/(ja/)/|/(ko/)"
            set ambiwidth=double
        endif
        if has("win32")
            source $VIMRUNTIME/delmenu.vim
            source $VIMRUNTIME/menu.vim
            language messages zh_CN.utf-8
        endif
    else
        echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
    endif
         输入:help,显示中文帮助,说明安装成功:

    3、设置语法高亮
    编辑安装目录下的_vimrc文件(例如:我的在D:\Program Files\Vim)
         加入以下内容:
         set nu!
         colorscheme desert
         syntax enable
         syntax on
    再打开gvim,打开一个源代码文件:

    这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。
    我们还可以让函数名也高亮起来,
    这里对C、C++的代码进行配置:在D:\Program Files\Vim\vim73\syntax下找到 c.vim 和 cpp.vim,分别添加以下内容:
    syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
    syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
    hi cFunction gui=NONE guifg=#B5A1FF
    重新打开gvim,效果如下:



    4、程序中跳转
    将ec57w32.zip解压,在解压后将文件夹中的ctags.exe复制到D:\ProgramFiles\Vim\vim73下,并编辑_vimrc文件,添加以下内容:
    set tags=tags;
    set autochdir

    然后将D:\ProgramFiles\Vim\vim73加到环境变量的path中。在需要查看的源代码目录下执行命令ctags -R;然后再用gvim打开源代码文件:



    按住“CTRL”键,点击对应的函数名或“CTRL+]”,会自动跳转到函数的定义部分,“CTRL+T”则返回;
    5、源代码分析工具 taglist
    将taglist_45.zip解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中。
    在_vimrc文件中加入以下内容:
    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1



    用gvim打开代码文件(已生成过tags文件),输入:Tlist,TagList窗口即出现在左侧。再输入:
    :Tlist,左侧栏消失;左侧栏列出了当前文件中的所有宏,  全局变量,  函数名等,  在查看代码时用这个窗口总揽全局,  切换位置相当方便





    6、文件浏览组件 WinManager
    winmanager.zip 地址http://www.vim.org/scripts/download_script.php?src_id=754
    将winmanager.zip解压和拷贝,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中
    在_vimrc文件中加入以下内容:
    let g:winManagerWindowLayout="FileExplorer|TagList"
    nmap wm :WMToggle<cr>
    用gvim打开代码文件,normal状态下输入命令"wm",窗口如下:

    左上角是浏览文件的窗口,左下角的是TagList窗口;
    7、多文档编辑
    minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640
    解压后将将minibufexpl.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
    let g:miniBufExplMapCTabSwitchBufs=1
    let g:miniBufExplMapWindowsNavVim=1
    let g:miniBufExplMapWindowNavArrows=1
    用GVIM打开多个源代码文件后,如图:

    ctrl+Tab,切换到前一个buffer,并在当前窗口打开文件;
    ctrl+shift+Tab,切换到后一个buffer,并在当前窗口打开文件;
    ctrl+箭头键,可以切换到上下左右窗口中;
    ctrl+h,j,k,l,切换到上下左右的窗口中。


    8、在工程中快速查找
    grep.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7645
    解压后把grep.vim文件拷贝到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
    nnoremap <silent> <F3> :Grep<CR>
    因为windows下是不带grep的,需要下载Grep for Windows http://gnuwin32.sourceforge.net/packages/grep.htm
    下载后在环境变量中增加grep的路径;
    用gvim打开一个源代码文件,光标选择需要查找的内容,按F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果

    9、h\c切换(针对C、C++)
    下载插件:a.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7218
    将a.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
    nnoremap <silent> <F12> :A<CR>
    用gvim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。
    10、高亮书签
    下载插件:visualmark.vim 地址http://www.vim.org/scripts/download_script.php?src_id=4700
    将visualmark.vim复制到d:\Program Files\Vim\vim73\plugin。
    用gvim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。

    使用F2在书签之间正向切换,shift+F2反向切换。
    11、python代码补全
    下载插件pydiction-1.2.zip
    解压后,将里面的python_pydiction.vim文件复制到D:\Program Files\Vim\vimfiles\ftplugin
    将complete-dict 和 pydiction.py复制到D:\Program Files\Vim\vimfiles\ftplugin\pydiction
    在_vimrc文件中增加配置如下:
    filetype plugin on  “启用filetype插件
    let g:pydiction_location = "D:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict"
    let g:pydiction_menu_height = 20 ”设置弹出菜单的高度,默认是15
    用gvim打开一个py文件,输入row+[tab],就可以看到自动补全的代码选项了

    12、python编译
    下载VimPdb,解压后拷贝VimPdb.py,VimPdb.vim到plugin即可。
    用vim代开python代码文件,按F5运行,然后按F2设置断点,在运行到断点后可以用按F12可以查看Stack Trace,F3查看变量和参数值。

    不过这种方法使用了一下,经常会死掉,不知道为什么,所以在网上找到了另外一种方法:
    在_vimrc增加

    1. python << EOF
    2. import time
    3. import vim
    4. def SetBreakpoint():
    5.     nLine = int( vim.eval( "line(".")"))
    6.     strLine = vim.current.line
    7.     i = 0
    8.     strWhite = ""
    9.     while strLine[i] == " " or strLine[i] == "\t":
    10.         i += 1
    11.         strWhite += strLine[i]
    12.     vim.current.buffer.append(
    13.        "%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" %
    14.          {"space":strWhite, "mark": "#" * 30}, nLine - 1)
    15.     for strLine in vim.current.buffer:
    16.         if strLine == "import pdb":
    17.             break
    18.         else:
    19.             vim.current.buffer.append( "import pdb", 0)
    20.             vim.command( "normal j1")
    21.             break
    22. vim.command( "map <C-M> :py SetBreakpoint()<cr>")
    23. def RemoveBreakpoints():
    24.     nCurrentLine = int( vim.eval( "line(".")"))
    25.     nLines = []
    26.     nLine = 1
    27.     for strLine in vim.current.buffer:
    28.         if strLine == "import pdb" or strLine.lstrip()[:15] == "pdb.set_trace()":
    29.             nLines.append( nLine)
    30.         nLine += 1
    31.     nLines.reverse()
    32.     for nLine in nLines:
    33.         vim.command( "normal %dG" % nLine)
    34.         vim.command( "normal dd")
    35.         if nLine < nCurrentLine:
    36.             nCurrentLine -= 1
    37.     vim.command( "normal %dG" % nCurrentLine)
    38. vim.command( "map <C-U> :py RemoveBreakpoints()<cr>")
    39. vim.command( "map <C-D> :!python %<cr>")
    40. EOF
    复制代码

    然后在要调试的代码里面用ctrl-M设断点
    ctrl-D运行




    13、Python代码检查
    下载pyflakes,解压缩后把pyflakes.vim文件和pyflakes目录拷贝套ftplugin\python目录中打开一个有问题的python源代码文件,执行命令:cc,即可进行代码检查:
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-3-29 08:34 , Processed in 0.381163 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表