转自:http://my.oschina.net/kontor/blog/50717

0.准备软件及插件。
(a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim72.exe。
(b)vimcdoc-1.7.0-setup.exe 地址http://prdownloads.sourceforge.net/vimcdoc/vimcdoc-1.7.0-setup.exe?download
(c)ec57w32.zip 地址http://prdownloads.sourceforge.net/ctags/ec57w32.zip
(d)taglist_45.zip 地址http://www.vim.org/scripts/download_script.php?src_id=7701
(e)winmanager.zip 地址http://www.vim.org/scripts/download_script.php?src_id=754
(f)minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640
(g)a.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7218
(h)grep.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7645
(i)visualmark.vim 地址http://www.vim.org/scripts/download_script.php?src_id=4700

1.安装gvim7.2。
运行gvim72.exe,选择完全安装(Full),我的安装目录是默认的C:\Program Files\Vim。
安装完成后,包括了文件夹vim72和文件夹vimfiles,以及脚本_vimrc。

2.安装中文帮助手册。
运行vimcdoc-1.7.0-setup.exe,它会自动找到gvim的安装位置。
安装完毕后重新打开gvim,:help 时帮助手册已经是中文的了。
进行到这一步时,我的gvim菜单处的中文出现了乱码。
在网上寻找解决方案,将C:\Program Files\Vim\vim72下名为 lang 的文件夹删去,使菜单语言变为英语。

3.语法高亮。
首先,编辑_vimrc文件加入以下内容:
set nu!
colorscheme desert
syntax enable
syntax on
这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。
我们还可以让函数名也高亮起来,在C:\Program Files\Vim\vim72\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,将其复制到C:\ProgramFiles\Vim\vim72下,并编辑_vimrc文件,添加以下内容:
set tags=tags;
set autochdir
打开cmd命令行,切换到你要查看的源代码的根目录处,运行
ctags -R
将会在此目录处生成一个tags文件。
用gvim打开一个代码文件,将光标放到某一函数名上,如下图的UpdateViewByPosNo(),按下"ctrl+]",光标会自动跳转到定义处。

按下"ctrl+T"会跳回到原来的位置。
变量、结构体、宏等等,都可以这样做。
当你的源文件有更新时,只能重新运行ctags -R命令,来更新tags文件。

5.窗口管理。
将taglist_45.zip解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到C:\Program Files\Vim\vim72下的doc及plugin中。
在_vimrc文件中加入以下内容:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
用gvim打开代码文件(已生成过tags文件),:Tlist,TagList窗口即出现在左侧。
用相同的方法将winmanager.zip解压和拷贝,在_vimrc文件中加入以下内容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
用gvim打开代码文件,normal状态下输入命令"wm",窗口如下

其中左上是netrw窗口(浏览文件),左下是TagList窗口,再次输入"wm"时这两个窗口会关闭。

6.多文件编辑。
将minibufexpl.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
当用gvim打开两个或两个以上的文件时,会自动弹出MiniBufExplorer窗口,如下图

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

7.快速切换头文件/源文件。
将a.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap <silent> <F12> :A<CR>
用gvim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。

8.在工程中快速查找。
将grep.vim复制到C:\Program Files\Vim\vim72\plugin,在_vimrc中添加:
nnoremap <silent> <F3> :Grep<CR>
用gvim打开源码文件,并将光标定位到要查找的内容上,按下F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果。如下图

确定查找内容时,支持正则表达式。

9.高亮的书签。
将visualmark.vim复制到C:\Program Files\Vim\vim72\plugin。
用gvim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。

使用F2在书签之间正向切换,shift+F2反向切换。

用Gvim建立IDE编程环境 (Windows篇)的更多相关文章

  1. 【转】手把手教你把Vim改装成一个IDE编程环境(图文)

    手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...

  2. IDE编程环境

    Vim配置及说明——IDE编程环境 目录 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 ...

  3. Vim配置及说明——IDE编程环境

    Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...

  4. BeagleBone Black第八课板:建立Eclipse编程环境

    BBB第八课板:建立Eclipse编程环境 最近建立了一个新的编程环境.感觉很方便,给大家分享.除了先前BBB董事会远程桌面直接写shell脚本或C外部程序,经Debain 7.5根据该制度还试图用编 ...

  5. Vim改装成一个IDE编程环境

      1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个 ...

  6. 04-手把手教你把Vim改装成一个IDE编程环境(图文)

    Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重 ...

  7. Eclipse和PyDev搭建完美Python开发环境 Windows篇

    1,安装Python Python是一个跨平台语言,Python从3.0的版本的语法很多不兼容2版本,官网找到最新的版本并下载:http://www.python.org, 因为之前的一个项目是2版本 ...

  8. 手把手教你把Vim改装成一个IDE编程环境(图文)

    http://blog.csdn.net/wooin/article/details/1858917

  9. 手把手教你把Vim改装成一个IDE编程环境(图文)【转】

    本文转载自: http://blog.csdn.net/wooin/article/details/1858917

随机推荐

  1. js Array操作

    JS中数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长 ...

  2. NSStream文件流

    1.文件流的使用 NSString *filePath = @"/Users/JHQ0228/Desktop/test.txt"; NSData *data = [@"h ...

  3. NSRect 位置和尺寸

    前言 结构体 这个结构体用来表示事物的坐标点和宽高度. typedef CGRect NSRect; struct CGRect { CGPoint origin; CGSize size; }; t ...

  4. hbase0.92 数据修复

    现有集群环境:8台region server.1台master server 早晨重启某一region server后,该server的region全部下线未恢复. 重启前 hbase(main):0 ...

  5. luoguP2418 yyy loves OI IV

    https://www.luogu.org/problemnew/show/P2418 暴力 DP 做这题只有 30 分 考虑用线段树优化这个 DP 先处理一下整个房间都膜拜一个人的情况,然后将 1 ...

  6. Python3之XML模块

    一.简介 xml是实现不同语言或程序之间进行数据交换的协议,可扩展标记语言,标准通用标记语言的子集.是一种用于标记电子文件使其具有结构性的标记语言.xml格式如下,是通过<>节点来区别数据 ...

  7. loj #2538. 「PKUWC2018」Slay the Spire

    $ \color{#0066ff}{ 题目描述 }$ 九条可怜在玩一个很好玩的策略游戏:Slay the Spire,一开始九条可怜的卡组里有 \(2n\) 张牌,每张牌上都写着一个数字\(w_i\) ...

  8. ExtJS 4.2.1学习笔记(一)——MVC架构与布局

    1       ExtJS入门 1.1     支持所有主流浏览器 调试推荐:chrome.Safari.Firefox 1.2     推荐目录结构 - appname (包含所有程序代码,是根目录 ...

  9. Sql server if-else以及switch

    --相当于C#中的if-else 根据levle列的值来判断自定义列显示的内容--要求then后面的数据类型必须一致 select * ,头衔=case when [levle]=1 then '菜鸟 ...

  10. js 三大家族之offset

    JS中的offset家族: 一.offsetWidth与offsetHeight: 获取的是元素的实际宽高 = width + border + padding 注意点: 1.可以获取行内及内嵌的宽高 ...