原文来自于:http://www.cnblogs.com/zhuyp1015/archive/2012/06/16/2552269.html

使用gvim在windows环境下搭建简单的IDE环境可以参见:http://my.oschina.net/u/146511/blog/50717

该文章讲的很详细,而且给出了各种辅助插件的下载链接。

这里主要讲如何在gvim环境下通过快捷键编译程序。

如果需要编译C/C++程序,首先将微软的cl 编译器 加入到环境变量中,也就是说在cmd 模式下能够使用cl。

这里就首先来讲一下如何将 cl 加入到环境变量中。

如果是使用VS2010及更低版本需要这样做:我的电脑->属性->高级系统设置->环境变量

新建:INCLUDE 、LIB、PATH 三个变量,填入下面的值:

假设我的VS2010的安装目录是D:\program files (x86)\Microsoft Visual Studio 10.0\

PATH:D:\program files (x86)\Microsoft Visual Studio 10.0\VC\bin;D:\program files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;

LIB:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;D:\program files (x86)\Microsoft Visual Studio 10.0\VC\lib;

INCLUDE:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;D:\program files (x86)\Microsoft Visual Studio 10.0\VC\include;

注意:每一项之间使用 ‘;’ 隔开。

我现在装的是VS11 beta版,上面的方式就不能成功了。需要这样做(这里我的VS11 beta是安装在C盘的默认路径):

INCLUDE: C:\Program Files\Microsoft Visual Studio 11.0\VC\include;C:\Program Files\Windows Kits\8.0;C:\Program Files\Windows Kits\8.0\Include\shared;C:\Program Files\Windows Kits\8.0\Include\um;C:\Program Files\Windows Kits\8.0\Include\winrt

LIB: C:\Program Files\Microsoft Visual Studio 11.0\VC\lib;C:\Program Files\Windows Kits\8.0;C:\Program Files\Windows Kits\8.0\Lib\win8\um\x86

PATH: C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 11.0\VC\bin;D:\Program Files\Python2.7

这样的方式增加了环境变量之后再cmd中就可以使用cl 编译器了(这里也一并增加了Python的环境变量)。

现在cl 已经可以用,现在我们需要修改gim安装文件夹中的 vimrc 这个文件(在vimrc 文件中加入):

" 编译源文件
func! CompileCode()
exec "w"
if &filetype == "c"
   exec "!cl %<.c "
elseif &filetype == "cpp"
   exec "!cl %<.cpp "

elseif &filetype == "python"
  exec "!python %<.py"

endif
endfunc

" 运行可执行文件
func! RunCode()
exec "w"
if &filetype == "c" || &filetype == "cpp" || &filetype == "haskell"
exec "! %<.exe"
elseif &filetype == "python"
exec "!python %<.py"
endif
endfunc

" Ctrl + C 一键保存、编译
map <c-c> :call CompileCode()<CR>
imap <c-c> <ESC>:call CompileCode()<CR>
vmap <c-c> <ESC>:call CompileCode()<CR>

Ctrl + R 一键保存、运行
map <c-r> :call RunCode()<CR>
imap <c-r> <ESC>:call RunCode()<CR>
vmap <c-r> <ESC>:call RunCode()<CR>

注:加了‘ " ’的行是注释了的行

这样就可以编译和运行c/c++/Python 文件了。

增加Python的环境变量如上面提到的方式就可以了,但是如果想在命令行直接运行.py文件的话需要再修改另一个环境变量(在系统变量中)PATHEXT: 加入.py 和 .pym

如果要支持中文,需要使用utf-8编码格式。可以在.py文件的开头加入: # -*- coding: utf-8 -*-

加入 

# -*- coding: utf-8 -*-

的这个操作也可以再vimrc中增加如下句子来实现:

map <c-p> ggi# -*- coding: utf-8 -*-<CR><ESC>:w<CR>
imap <c-p> <ESC>ggi# -*- coding: utf-8 -*-<CR><ESC>:w<CR>
vmap <c-p> <ESC>ggi# -*- coding: utf-8 -*-<CR><ESC>:w<CR>

然后在使用ctrl + r 运行前,先按 ctrl + p 就可以自动加上这句话了。

转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)的更多相关文章

  1. 使用code::blocks搭建objective-c的IDE开发环境 支持 @interface

    网上有许多的关于 <使用code::blocks搭建objective-c的IDE开发环境>的文章. 大多是写了一个Helloworld 就结束了,今天试了试 添加了一个 @interfa ...

  2. Windows下Git服务器搭建[转]

    Windows下Git服务器搭建   作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 ...

  3. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  4. 转载:Windows下三分钟搭建Shadowoscks服务器端

    Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...

  5. windows下sqli-labs的搭建及学习(POST篇)

    windows下sqli-labs的搭建及学习(GET篇): http://blog.csdn.net/sherlock17/article/details/64454449 Less-11:基于错误 ...

  6. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  7. windows下如何快速搭建web.py开发框架

    在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...

  8. 在windows下如何快速搭建web.py开发框架

    在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...

  9. windows下的gvim和emmet 下载和安装 + "omnifunc is not set" solution?

    注意几个地方: 引导键是ctrl-y, 其他就是实际的操作键了, 如: n下一个插入点, N是上一个插入点(不是p), ctrl-y + i是自动为图片添加宽度和高度尺寸, 要点是要把光标移动到 im ...

随机推荐

  1. SQL 计算两个时间之差 分类: SQL Server 2014-07-04 10:57 119人阅读 评论(0) 收藏

    SQL语句: A,B为两个字段,A为开始时间,B为结束时间,ss为秒. SELECT datediff(ss,A,B)  FROM Table 详细:http://www.w3school.com.c ...

  2. spark 启动job的流程分析

    从WordCount開始分析 编写一个样例程序 编写一个从HDFS中读取并计算wordcount的样例程序: packageorg.apache.spark.examples importorg.ap ...

  3. iOS 百度地图 小的特点demo

    先上图的样子 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDEyMzIwOA==/font/5a6L5L2T/fontsize/400/fill ...

  4. 使用vi是方向键变乱码 退格键不能使用的解决方法

    一.编辑/etc/vim/vimrc.tiny 由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改.很简单,这个文件里面的倒数第二句话是“se ...

  5. libpcap使用

    libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的.今天我们利用它来完成一个我们自己的网络嗅探器(sniffer) 首先先介绍一下本次实验的环境: ...

  6. svn 1.8.11 命令行提交新添加文件错误

    由于公司的svn服务器版本不兼容最新的svn 1.8.11导致 提交代码报错 ➜  images  svn ci arrowico.png -m"add images for png ico ...

  7. 如何为 setTimeout() 方法传参

    现有如下JavaScript代码: function printApple(apple){ console.log(apple, "is a kind of healthy fruit&qu ...

  8. VS 2015 update2 装xamarin后,编辑axml文件无智能提示的解决方法。

    1.从github网上下载xsd文件.地址:https://github.com/atsushieno/monodroid-schema-gen: 2.如果你是以ie或edge浏览器下载的,一定要又键 ...

  9. EXCEL插件

    http://www.cnblogs.com/brooks-dotnet/category/233027.html http://www.360doc.com/content/15/0713/00/1 ...

  10. 10.27 noip模拟试题

    1.铺瓷砖(tile.cpp/c/pas)[问题描述]有一面很长很长的墙. 你需要在这面墙上贴上两行瓷砖. 你的手头有两种不同尺寸的瓷砖,你希望用这两种瓷砖各贴一行.瓷砖的长可以用分数表示,贴在第一行 ...