zoukankan      html  css  js  c++  java
  • 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安装目录] vimfilesplugin

    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的组成:

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

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

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

    vim_pch.cpp:预编译cpp文件;

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

    CPPBuild的工作流程图如下:

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

  • 相关阅读:
    (转)介绍一些.net开源项目
    (转).Net有哪些大型项目、大型网站的案例?
    Linux下的awk使用
    linux下的sed使用
    linux下的find、grep、cut使用
    CentOS7下的Zabbix4.4安装配置
    NetBackup linux客户端安装
    bat小脚本
    批量复制指定目录下的文件,并统计执行时间
    iptables
  • 原文地址:https://www.cnblogs.com/quark/p/3977629.html
Copyright © 2011-2022 走看看