Vim一键编译C++源码

咳咳,仅仅是简单的编译文件啦。打造成IDE什么的就算了。(本文来自一个OIer)

本来用着VScode的Vim插件,感觉VScode自带一个终端还挺方便的,界面也很美观。感觉Vim是真的好用(自从用了Vim的插件,在Windows的DevC++下老是按Esc

然而老年电脑带不起VScode...
考虑了Sublime,感觉也带不起Sublime...

于是转Vim,但是还要开个终端,每次还要输入那么多命令编译运行(虽然也可以用方向键,但也觉得很麻烦)感觉很麻烦。而且我需要看编译错误信息来改代码。网上看了看,似乎不太适合我。就研究了一下用户手册,大概搞了个这样的东西。

大致思路是把错误信息重定向到一个文件并打开它

”把F9键映射为 :call Compile()<CR>(即输入冒号调用Complite()函数按回车(<CR>)确认)
map <F9> :call Compile()<CR>
" 同理
map <F10> :call Run()<CR>

func! Compile()
    " 如果已经加载了error文件,我们先把它关掉,不然等下会出现询问是否重新加载此文件
    if bufloaded("error")
        ” Ctrl+W+h移动到error并输入:q!退出error文件
        execute "normal \<C-W>h"
        exec ':q!'
    endif
    " 如果是c++文件,执行相应的编译命令其中%代表当前文件全名,%:r代表当前文件名不加后缀>&表示重定向
    if &filetype == 'cpp'
        exec '!g++ % -Wall -Wno-parentheses -Wno-unused-result -o %:r >& error'
    endif
    " 从左边出现错误信息,55指定宽度
    exec ':55vs error'
    " 打开后光标停留在error,我们把它右移回源代码的位置
    execute ":normal \<C-w>l"
endfunc

" 运行命令(直接在Vim里运行的)
func! Run()
    if &filetype == 'cpp'
        exec '!./%:r'
    endif
endfunc

效果大概是这样:

编译前:

按下<F8>编译

按下<F10>运行

:立个flag,今天开始尽量更新博客

原文地址:https://www.cnblogs.com/lsq647vsejgfb/p/9689273.html

时间: 2024-10-13 19:40:51

Vim一键编译C++源码的相关文章

【转】在Ubuntu下编译Android源码并运行Emulator

原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK   $ sudo apt-get install sun-java5-jdk  或   $ sudo apt-get install sun-java6-jdk (donut 1.6)3.安装flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev(可选),build-ess

编译Android源码致命错误解决方案

编译Android源码致命错误解决方案 字数1506 阅读17447 评论0 喜欢3 相信各位和我一样正在研究android内核的朋友们在经过漫长的源码下载的等待后,喜悦的拿到了源代码开始编译.可是在编译过程中,也会和下载一样出现各种各样的不顺.在这里我记录了一下本人在编译过程中的所有问题,如有疏漏,欢迎朋友们指出.下面是按照正常编译流程记录的所需步骤和操作,可能遇到的问题会在后面讲述. 步骤一:初始化编译环境 首先进入android源码所在目录,然后在Linux终端执行以下命令来完成编译初始化

在win7 下编译MySQL源码

MySQL MySQL是一款优秀的开源数据库,在阿里.网易等各个互联网公司中有着广泛的应用.尽管各种NoSQL大行其道,但是关系型数据库依然必不可少. 作为一个新手,在Win7下用源码安装MySql数据库并不容易.我自己都折腾了好几天.今天把安装过程记录下来,其一是为了方便自己以后学习,其二则是分享过程,让学习者能够从我这篇文章中受益. 1. 编译环境及源码下载 编译环境:Visual Studio 2010 (Win7 32位) 编译工具: bison-2.4.1-setup.exe 下载地址

CentOS6.5上编译OpenJDK7源码

本文地址:http://www.cnblogs.com/wuyudong/p/build-openjdk7.html,转载请注明源地址. 采用开源的OpenJDK版本,获取其源码的方式有两种: 通Mercurial代码版本管理工具从Repository中直接取得源码,但是速度太慢,需要花费数小时 直接下载官方打包好的源码包(推荐) 下载源码openjdk-7u6-fcs-src-b24-28_aug_2012.zip,解压,下载地址如下: http://www.java.net/download

【转】模块编译Android源码方法

原文网址:http://blog.csdn.net/androidlover1991/article/details/17014055 实际开发中,并不需要每次都编译所有源代码,只需要编译自己修改的模块即可.Android 的编译系统提供了强大的机制支持单独模块的编译,而且十分简单.Android 提供三种方式用于编译单独模块 :1.make 模块名2.mm 来自于 envsetup.sh 脚本中注册的函数3. mmm 来自于 envsetup.sh 脚本中注册的函数下面将分别介绍这三种方法.1

编译Hadoop源码

背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议, 而这些Protocol Buffers文件在Maven编译源代码才会生成对应的java类,因此若其他类在源代码中引用这些类则暂时无法找到. 解决办法就是先对hadoop源码进行编译,再导入eclipse工程. 一.基础软件: 软件 下载地址 推荐版本 JDK http://www.oracle.com/technetwork/java/javas

Windows,linux下编译qt源码(比较简单)

一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic –static –release -nomake examples  --nomake demos-nomake docs -continue 4.待执行完之后执行make 5.makeinstall 参考:http://www.cnblogs.com/qianyuming/archive/201

如何在Windows上编译wireshark源码

在深受了几天编译wireshark源码的痛苦后,记录下自己编译wireshark的经验,希望能给今后需要编译wireshark的人一些帮助.这个方法是能编译最新的wireshark源码,现在网上找的一些方法都是旧的一些方法,编译最新的wireshark是行不通的.我参考的是一个英文的说明文档,如果阅读此文档的人没有困难的话,可以就此英文文档说明进行编译.附上地址:https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html

使用Maven 编译 storm 源码可能碰到下载依赖jar 的问题

网上很多文件使用 lein 编译 storm 源码,但是我下载的版本 apache-storm-0.9.2-incubating 中没有lein 工程文件,而是有 pom.xml,可以使用maven 编译. 在storm 工程的最上层目录执行: mvn package -DskipTests=true 可能会碰到错误如下描述(jackson-core-2.0.6 只是一个例子): Failed to execute goal org.apache.maven.plugins:maven-remo