在Linux里面混了一个多月,vim编程用得甚爽。无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝。再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么东西,遂决定回到windows。

回到windows里面第一件事就是想把Linux里面的vim完美移植到windows。花了两天功夫,大部分功能已基本能够实现。当中遇到的最大困难是在windows里面实现用gcc/g++编译调试c/cpp文件,现在就把我这个过程完整记录下来。

1,首先下载安装MinGW,下载地址在 http://sourceforge.net/projects/mingw/。这个是边下载边安装的,下载完成即安装完成。我的安装目录是G:\MinGW。

2,设置环境变量。右击我的电脑,点属性->高级->环境变量。然后:

1、在PATH里加入G:\MinGW\bin,记得,如果里面还有其他的变量,记得要加个分号啊,分号得在英文输入模式下输入的。

2、新建LIBRARY_PATH变量,如果有的话,在值中加入G:\MinGW\lib,这是标准库的位置。

3、新建C_INCLUDEDE_PATH变量,值设为G:\MinGW\include。

4、新建CPLUS_INCLUDE_PATH变量,值为G:\MinGW\include;G:\MinGW\include\c++\4.5.0;G:\MinGW\include\c++\4.5.0\backward;G:\MinGW\include\c++\4.5.0\mingw32

具体路径请根据你的MinGW选择。

3,在你的_vimrc文件中配置编译调试选项。我的个人配置如下:

"定义CompileRun函数,用来调用进行编译和运行

func CompileRun()

exec "w"

"C程序

if &filetype == 'c'

exec "!gcc -Wall -enable-auto-import % -g -o %<.exe"

"c++程序

elseif &filetype == 'cpp'

exec "!g++ -Wall -enable-auto-import  % -g -o %<.exe"

"Java程序

elseif &filetype == 'java'

exec "!javac %"

endif

endfunc

"结束定义CompileRun

"定义Run函数

func Run()

if &filetype == 'c' || &filetype == 'cpp'

exec "!%<.exe"

elseif &filetype == 'java'

exec "!java %<"

endif

endfunc

"定义Debug函数,用来调试程序

func Debug()

exec "w"

"C程序

if &filetype == 'c'

exec "!gcc % -g -o %<.exe"

exec "!gdb %<.exe"

elseif &filetype == 'cpp'

exec "!g++ % -g -o %<.exe"

exec "!gdb %<.exe"

"Java程序

elseif &filetype == 'java'

exec "!javac %"

exec "!jdb %<"

endif

endfunc

"结束定义Debug

"设置程序的运行和调试的快捷键F5和Ctrl-F5

map <F5> :call CompileRun()<CR>

map <F6> :call Run()<CR>

map <C-F5> :call Debug()<CR>

4,完成上面几步基本上就大功告成啦,尽情享受vim编程吧。

可能遇到的问题:

编译的时候可能会出现:

Info: resolving std::cout  by linking to __imp___ZSt4cout (auto-import)

c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning: a

uto-importing has been activated without --enable-auto-import specified on the c

ommand line.

This should work unless it involves constant data structures referencing symbols

from auto-imported DLLs.)

在编译命令中加入 -enable-auto-import 就行啦

源文档 <http://shoppon.diandian.com/post/2010-11-02/6889610>

[vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件的更多相关文章

  1. Windows下Git Bash中VIM打开文件中文乱码

    Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 admin@DESKTOP-O99620V MINGW64 /d/项目GGE/Hard_for_GGE (master) ...

  2. 第21月第9日 windows下使用vim+ctags+taglist

    1. windows下使用vim+ctags+taglist 最近在公司的同事指导下,学会使用这个东西编写代码,效率提高了不少.所以记录下来,方便大家使用. 1. 下载gvim74.exe文件,并安装 ...

  3. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

  4. Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

    0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...

  5. Kafka 安装配置 windows 下

    Kafka 安装配置 windows 下 标签(空格分隔): Kafka Kafka 内核部分需要安装jdk, zookeeper. 安装JDK 安装JDK就不需要讲解了,安装完配置下JAVA_HOM ...

  6. Windows 下 MySql 5.7.20安装及data和my.ini文件的配置(转)

    Windows 下 MySql 5.7.20安装及data和my.ini文件的配置     本文通过图文并茂的形式给大家介绍了MySql 5.7.20安装及data和my.ini文件的配置方法. my ...

  7. 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp

    配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...

  8. 在Mac OSX下使用ssh建立隧道(在Windows下建立隧道可以使用putty,其间会用到ppk文件)

    在Windows下建立隧道可以使用putty,其间会用到ppk文件.在Mac OSX下,同样的功能可以用ssh命令实现.具体是: ssh -D 8088 -Nf user@ip -i myppk.ss ...

  9. 【转载】在Linux中使用VS Code编译调试C++项目

    原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...

随机推荐

  1. WPF + Caliburn.Micro +ActionMessage事件绑定

    ActionMessage事件绑定是个人觉的算是CM的精髓了,比如说我在View里面放个button,我们要在他的click事件里面写东西,怎么写.如果是WPF我们直接在CS里面写就可以.但是CM不行 ...

  2. iOS 中的 NSTimer

    iOS 中的 NSTimer NSTimer fire 我们先用 NSTimer 来做个简单的计时器,每隔5秒钟在控制台输出 Fire .比较想当然的做法是这样的: @interface Detail ...

  3. 阿里云ECS服务器(ubuntu)下基本配置以及升级git

    最近需要在阿里云服务器上远程搭建调试环境,这里把遇到的问题做一下记录: 1.ECS Linux解决SSH会话连接超时问题 用SSH客户端(我使用的Xshell)连接linux服务器时,经常会出现与服务 ...

  4. (甲)PAT-1001

    1001. A+B Format (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B   Calculate a + b and output the sum ...

  5. Effective Java 20 Prefer class hierarchies to tagged classes

    Disadvantage of tagged classes 1. Verbose (each instance has unnecessary irrelevant fields). 2. Erro ...

  6. SQL Server 2008 R2——VC++ ADO 操作 参数化查询

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  7. Json常用的转换

    简单记录一下jquery里面的JSON.parse()和JSON.stringify()函数,和js中的eval()函数的用法 1,JSON.parse 函数(常用) 作用:将 JavaScript ...

  8. Redis高级应用

    上一篇博文讲述了Redis的一些常用命令,可以对数据库及数据库服务器进行操作,本篇将讲述Redis的高级应用及配置 安全性 设置密码:修改redis.conf中的requirepass,在其后面添加密 ...

  9. 【VB超简单入门】二、知识准备

    在开始编程之前,需要先熟悉一下各种操作和术语,以后学习编程才能得心应手. 首先最重要的操作当然就是-电脑的开机关机啦~(开个玩笑哈哈),必须掌握软件的安装和卸载,还有能编写批处理程序对平时的使用也是很 ...

  10. poj 2342 Anniversary party 简单树形dp

    Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3862   Accepted: 2171 ...