环境: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文件中增加:

 1 " 配置多语言环境,解决中文乱码问题
 2
 3 if has("multi_byte")
 4     " UTF-8 编码
 5     set encoding=utf-8
 6     set termencoding=utf-8
 7     set formatoptions+=mM
 8     set fencs=utf-8,gbk
 9     if v:lang =~? '^/(zh/)/|/(ja/)/|/(ko/)'
10         set ambiwidth=double
11     endif
12     if has("win32")
13         source $VIMRUNTIME/delmenu.vim
14         source $VIMRUNTIME/menu.vim
15         language messages zh_CN.utf-8
16     endif
17 else
18     echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
19 endif

输入:help,显示中文帮助,说明安装成功:

3、设置语法高亮

编辑安装目录下的_vimrc文件(例如:我的在D:\Program Files\Vim)

加入以下内容:

1 set nu!
2 colorscheme desert
3 syntax enable
4 syntax on
5 set nobackup

再打开gvim,打开一个源代码文件:

这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。 
我们还可以让函数名也高亮起来,

这里对C、C++的代码进行配置:在D:\Program Files\Vim\vim73\syntax下找到 c.vim 和 cpp.vim,分别添加以下内容:

1 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
2 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
3 hi cFunction gui=NONE guifg=#B5A1FF

重新打开gvim,效果如下:

 

4、安装Ctags

下载地址:http://ctags.sourceforge.net/,在解压后将文件夹中的ctags.exe复制到D:\ProgramFiles\Vim\vim73下,并编辑_vimrc文件,添加以下内容:

1 set tags=tags;
2 set autochdir

然后将D:\ProgramFiles\Vim\vim73加到环境变量的path中。在需要查看的源代码目录下执行命令ctags -R(通过cmd或者其他bash手段);然后再用gvim打开源代码文件:

 

按住“CTRL”键,点击对应的函数名或“CTRL+]”,会自动跳转到函数的定义部分,“CTRL+T”则返回;

5、源代码分析工具 taglist

下载地址:http://vim.sourceforge.net/scripts/script.php?script_id=273,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中。 
在_vimrc文件中加入以下内容:

1 let Tlist_Show_One_File=1
2 let Tlist_Exit_OnlyWindow=1

 

用gvim打开代码文件(已生成过tags文件),输入:Tlist,TagList窗口即出现在左侧。再输入:

:Tlist,左侧栏消失;左侧栏列出了当前文件中的所有宏,  全局变量,  函数名等,  在查看代码时用这个窗口总揽全局,  切换位置相当方便

设置自动Taglist自动开启:

1 let Tlist_Auto_Open=1 

 

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文件中加入以下内容:

1 let g:winManagerWindowLayout='FileExplorer|TagList'
2 nmap <silent> <F8> :WMToggle<cr>

设置自动打开Winmanager:

1 let g:AutoOpenWinManager = 1

同时在winmanager.vim中加入一段话:

"set auto open Winmanager if g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w endif

:如果设置Winmanager自动开,那么Taglist自动open变量需要关闭,否则会出现两个导航栏。

用gvim打开代码文件,normal状态下按下F8可以打开关闭, 窗口如下:

左上角是winmanager 浏览文件的窗口,左下角的是TagList窗口;

7、多文档编辑

minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640

解压后将将minibufexpl.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:

1 let g:miniBufExplMapCTabSwitchBufs=1
2 let g:miniBufExplMapWindowsNavVim=1
3 let g:miniBufExplMapWindowNavArrows=1

用GVIM :e打开多个源代码文件后,如图:

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 Windowshttp://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增加

python << EOF
import time
import vim
def SetBreakpoint():nLine = int( vim.eval( 'line(".")'))strLine = vim.current.linei = 0strWhite = ""while strLine[i] == ' ' or strLine[i] == "\t":i += 1strWhite += strLine[i]vim.current.buffer.append("%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" %{'space':strWhite, 'mark': '#' * 30}, nLine - 1)for strLine in vim.current.buffer:if strLine == "import pdb":breakelse:vim.current.buffer.append( 'import pdb', 0)vim.command( 'normal j1')break
vim.command( 'map <C-M> :py SetBreakpoint()<cr>')def RemoveBreakpoints():nCurrentLine = int( vim.eval( 'line(".")'))nLines = []nLine = 1for strLine in vim.current.buffer:if strLine == 'import pdb' or strLine.lstrip()[:15] == 'pdb.set_trace()':nLines.append( nLine)nLine += 1nLines.reverse()for nLine in nLines:vim.command( 'normal %dG' % nLine)vim.command( 'normal dd')if nLine < nCurrentLine:nCurrentLine -= 1vim.command( 'normal %dG' % nCurrentLine)
vim.command( 'map <C-U> :py RemoveBreakpoints()<cr>')
vim.command( 'map <C-D> :!python %<cr>')
EOF

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

13、Python代码检查

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

分类: Env configure

Gvim开发环境配置笔记--Windows篇相关推荐

  1. Gvim开发环境配置笔记--Windows篇(转)

    原文地址:http://blog.csdn.net/anders_zhuo/article/details/8949003 1.安装Gvim7.3 : 下载地址http://www.vim.org/d ...

  2. OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程

    OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程 大部分 OpenGL 是直接面向设备商的,如果开发者需要使用 Open ...

  3. Vue+element+axios+tornado前后端一体化开发环境配置笔记

    Vue+element+axios+tornado开发环境配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/d ...

  4. 泛微E9IDEA开发环境配置非maven篇

    E9开发环境搭建IDEA篇 前期工作 备注 : 该项目以IntelliJ IDEA 2020.1.1 版本为例 1. 从SVN上下载最新的ecology9本地demo 2. 将如下文件解压到当前工作空 ...

  5. 【Java开发环境配置 for Windows】

    文章目录 前言 一.Java是什么? 二.详细步骤 1.下载JDK 2.环境配置 测试验证 总结 前言  今天我们来实现java开发的第一步--java开发环境的配置. 一.Java是什么?   Ja ...

  6. Node.js 安装及环境配置之 Windows 篇

    一.安装环境 1.本机系统:Windows 10 企业版(64位) 2.Node.js:node-v8.9.4-x64.msi(64位) 二.安装Node.js步骤 1.下载对应自己系统对应的 Nod ...

  7. Node.js安装及环境配置之Windows篇

    一.安装环境 1.本机系统:Windows 10 Pro(64位) 2.Node.js:v12.14.1(64位) 二.安装Node.js步骤 1.下载对应你系统的Node.js版本:  https: ...

  8. windows下yacc和lex开发环境配置(Parser Generator篇)

    1.下载安装 Parser Generator是Windows下YACC和LEX的实现,是由英国Bumble-Bee Software公司开发. 下载地址http://www.bumblebeesof ...

  9. 【小5聊】Vue开发环境配置(Windows)

    使用前端框架Vue进行开发,会用到HBuilderX或者Visual Studio Code等开发工具,不管那种,都需要先安装Node 此处在Windows操作系统下安装 配置最大的难点就是版本兼容问 ...

最新文章

  1. Linux chattr命令详解
  2. java面试填空题 jsp_JSP基本面试的试题
  3. VS2010问题汇总
  4. 信息学奥赛一本通 1038:苹果和虫子 | OpenJudge NOI 1.3 15 | OpenJudge NOI 1.4 21
  5. P1754 球迷购票问题 (卡特兰数,递推)
  6. 100个C语言经典小程序和C语言编写的小游戏
  7. linux命令 语法 pdf,Linux命令详解词典pdf
  8. AFNetworking 2.0 来了
  9. 2018清华计算机专业优秀学生名单,2018信息学竞赛清华北大优秀学生签约名单
  10. p3c插件 离线安装_阿里开发规范及P3C插件
  11. 华为手机为什么打不开微信连接到服务器,华为手机微信打不开如何解决? 华为手机微信打不开解决方法介绍!...
  12. 江苏省赛 JSCPC2018 K. 2018
  13. mysql怎么限制输入男女_excel表格中如何限制只输入男女
  14. 全球及中国辉光放电质谱仪(GDMS)市场商业模式与十四五投资战略规划研究报告2022-2028年
  15. Python项目-----外星人大战
  16. 在 Solidity 中 ++i 为什么比 i++ 更省 Gas?
  17. 从多个数中取出之和等于定值的组合
  18. autojs定时运行任务的例子,设置定时器,或者循环检测时间都可以实现
  19. web从零开始做网站:二.实操理解学习html的逻辑
  20. 创建Vue项目的步骤和流程

热门文章

  1. amd核芯显卡控制面板自定义分辨率_AMD翻盘,NVIDIA翻车,你的下一张光追显卡选哪个...
  2. 用python实现打开虚拟机_如何使用python从虚拟机读取文件
  3. qfile指定从多少行开始_大牛进化路上之Linux基础命令,看看你了解多少?
  4. visual studio 按钮判断管理员和用户_用户管理的设计原则
  5. Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……
  6. plot函数_时间序列:python移动窗口函数前言
  7. 模拟 http connecttimeout_燃烧室数学模型模拟软件NPSS
  8. java多线程教程_java 基础教程之多线程详解及简单实例
  9. bcp 不能调用where 子句_技术分享 || Mysql中IS NULL、IS NOT NULL不能走索引?
  10. 【LeetCode笔记】226. 翻转二叉树(Java、递归)