VIM大作战之C++简易集成编译环境(Windows篇)

一切都要从这篇文章说起

Vim 实在是精致独特得有点像个林妹妹。但谁要是希望家里也有个林妹妹,光把自家丫头照着绣像打扮打扮是不行的,必须从零开始养成一个。而且就算真能养出来个“天上掉下来”一般的可人儿,管家婆的位置仍然没她的份。

——《钗黛双收:若你也同Vim难割舍,却又看Emacs情切切》

那时候刚工作不久,有一次去一个搞嵌入式的同事工位上讨论一个bug,只见他操作一个界面简洁的文本编辑器,但是这个编译器似乎不简单,有文本高亮,有自动补全,还可以子窗口嵌套,更夸张的是,这个同事以打字的速度敲着键盘,伴随着的是界面、光标刷刷的跳。在我还没搞明白发生了什么的时候,这个同事突然停下来,指着屏幕,告诉我他搞清楚了bug原因……

这就是Vim给我的第一印象,赤裸裸的逼格。

废话不多讲,以下是我想跟大家分享的vim比较有意思的东西,也是抛砖引玉吧。

vim和gvim

这里推荐KM上一篇很好的介绍Vim的文章:

http://km.oa.com/group/16841/articles/show/199187

用linux的童鞋对VI或者VIM一点也不会陌生,因为这是标配。编辑代码,配置文件都得靠它。而在Windows下VIM确实显得有些非主流,因为选择比较多加上Vim奇葩的上手曲线。

Vim主要分两种,一个是在命令行或者控制台的vim,另外一个是带图形界面的gvim。这两者其实操作起来体验差不多,因为Vim下鼠标几乎无用……,不过Windows下gvim用起来还是舒服一些。

能做什么

一句话,就是把利用VC编译环境集成到Vim当中,这样可以在Vim中编辑,修改,运行一个简单的cpp程序。直接上图吧。

最大的好处就是轻量级,比起VS来讲,轻便快捷得多。特别是在写一段测试代码,或者试用一个不熟悉的API的时候。

不知道有多少同学跟我干过跟我一样的事情:

  • 先gvim main.cpp,写好,保存;
  • 打开VS的命令提示控制台;
  • cl.exe main.cpp;
  • 运行exe;
  • 如果编译,或者运行有问题,打开main.cpp,以上步骤重新来一遍。

现在这只是过去式了,F5,编译运行一键搞定。如果编译错误,也会把错误信息打出来。

这里给大家提供一个思路,根据自己的需要,发挥自己的想象力,把一些日常工作集成到Vim,或者利用Vim来做,当然前提是能够提高效率(提高逼格也行)。

PS:Vim有很强大的脚本,插件的支持,足够你折腾。

插件安装

安装gvim

Vim的最新版本可以在Vim官网上下载;

下载CPPBuild.zip(附件)

1)         解压缩CPPBuild.zip到本地

2)         修改vim的配置文件_vimrc,添加filetype plugin indent on,作用是打开vim插件功能。_vimrc的路径:[gvim安装目录]\_vimrc

3)         拷贝CPPBuild.vim到[gvim安装目录]\ vimfiles\plugin\

4)         根据当前系统,修改CPPBuild.vim,两个地方需要修改,一个是工作目录,另外一个是VC和Windows SDK的路径

5)         将剩下的文件拷贝到步骤4中设置的工作目录当中

6)         关闭所有gvim,重新打开任意一个新的gvim(目的是让CPPBuild.vim的修改生效),快捷键[Ctrl-K][Ctrl-P],此时gvim会打开一个新的标签页

7)         在步骤6打开的标签页下,快捷键[Ctrl-K][Ctrl-I]打开预编译头文件(可以根据自己需要修改),快捷键[F5],编译预编译头文件和CPPBuild.exe

8)         回到步骤6打开的标签页,[F5]编译运行,打完收工。

注:步骤7其实就是编译一次预编译头文件,这样做可以提高以后的编译效率。只需要做一次,以后可以跳过这个步骤。

CPPBuild

Vim插件CPPBuild的组成:

l  CPPBuild.vim:插件脚本,负责在Vim中绑定快捷键,实现CPP编译的主要逻辑;

l  CPPBuild.cpp:会被编译成CPPBuild.exe,实现无窗口的情况下调用cl.exe,编译cpp文件(直接调用会弹出一个控制台黑框);

l  vim_pch.h:预编译头文件,负责生成.pch文件;

l  vim_pch.cpp:预编译cpp文件;

l  template.cpp:模板cpp文件,包含main入口函数,拷贝这个文件的内容来生成临时的main.cpp;

CPPBuild的工作流程图如下:

代码下载:http://pan.baidu.com/s/1sj7BXd7

时间: 2024-10-12 15:43:57

VIM大作战之C++简易集成编译环境(Windows篇)的相关文章

离线搭建 Android 集成开发环境

离线搭建 Android 集成开发环境 Windows环境下 首先下载安装JDK,JDK版本至少为1.6 (1).idear,Android sdk(更新后) 下载 下载地址: http://www.jikexueyuan.com/resources/ (2)安装idear,创建Android 工程,按照提示,一步步安装JDK (3)Android SDK解压,输入路径 (4)完成

Expo大作战--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo依赖,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战--什么是expo,如何安装expo clinet和xde,xde如何

Expo大作战(十)--expo中的App Icon,expo中的Assets,expo中的ErrorHandling错误处理

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd

Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd

Expo大作战(三十三)--expo sdk api之MapView(地图),MailComposer(磁力传感计),Lottie(动画)

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd

Expo大作战(四十一)【完】--expo sdk 之 Assets,BarCodeScanner,AppLoading

Expo大作战系列完结! 简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo

最火爆10大集成开发环境和代码编辑器!总有一款是最适合你的!

什么是集成开发环境和代码编辑器 进群:125240963   即可获取数十套PDF或者零基础入门教程一套哦! 保存和重载代码文件 如果一款集成开发环境或者编辑器不允许你保存现有工作,并在之后重新打开时不能保持你离开时的相同状态,那么它就不是什么集成开发环境. 在环境内运行代码 类似的是,如果你必须退出编辑器来运行Python代码,那么它也就是一个普通的文本编辑器. 支持调试 在程序运行时支持逐步运行代码是所有集成开发环境和大多数优秀代码编辑器必备的核心功能. 语法高亮 支持对代码中的关键词.变量

cocos2d-x 3.2 之 三消类游戏——万圣大作战

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 首先祝大家万圣节快乐呀~ 紧赶慢赶,第二款cocos2d-x游戏终于出来了. 万圣大作战 三消类的游戏 下面是游戏的一些截图~ 主界面 设置界面: 游戏界面: 结束界面:         和第一款2048相比, 多了 分数的本地存储(未加密) 音乐和音效的 设置

vijos P1836HYS与七夕节大作战 (01背包之2--转换dp对象)

题目:vijos P1836HYS与七夕节大作战 题意: n个对象,每价值为vi,比重pi,总容量100 分析: 类似背包重量的比重pi为实数,不能作为下标,所以改变dp对象 将求容量100内的最大价值 → 求相应价值的最小容量, 则容量第一个≤100的价值,为符合条件的价值最大的值 状态:dp[v]:价值为v的最小容积 转移方程:         dp[V] = min(dp[V], dp[V-v[i]] + p[i]); 核心: for(i = 1; i<=n; i++) {     for