vim+makefile入门编辑,编译,差错实例
vim+makefile入门编辑,编译,差错实例
编写代码,一般在vim中编辑完后,输入:wq,在命令行下输入g++ hello.cc -o hello ,出现问题,打开vim,找到对应行修改,感觉是不是很烦很NC。其实vim自带的Quickfix列表就能帮助我们无需退出vim,即可进行编译代码,浏览错误信息。
简单单个文件的调试,只需增添环境变量makeprg即可。
编写一个简单的命名为hi.c的如下程序:
- #include<stdio.h>
- int main()
- {
- printf("hi");
- }
在vim的命令模式添加以下参数:
- :set makeprg=g++\ hi.c\ -o\ hi
- #gcc g++ 都可以,反斜杠之后记得加上空格,
- #要不然执行起来连在一起,不识别
- :make #执行make即可
注:c与c++程序效果一致
为单个文件编写简单的makefile
make 命令可以通过 -f 执行使用的makefile。如果在没有使用 -f 指定的情况下,会按照下面的顺序执行。
GNUmakefile, makefile 和 Makefile
推荐使用 Makefile 的名称,而GNUmakefile是不推荐的,它只用于特定到GNU make的版本上。vim Makefile,还是以上面的例子为例,输入如下:
- hi : hi.c
- g++ -o hi hi.c
- 在vim命令行中输入:make,效果和第一类相同
区别:一般的大型系统都是有makefile的,无需自己编辑,故一般使用第二种方法,可是第一个方法适合自己编写小程序并测试,方便快捷。
使用Quickfix进行排错
在vim下输入:make
- #若完全正确,则出现下列语句
- Press ENTER or type command to continue
- #若有错则出现,则出现下列语句
- hi.c:1:17: error: missing terminating > character
- Press ENTER or type command to continue
出错的话,按下回车键回到vim,键入:cw,开始调错。
| 命令 | 用途 |
|---|---|
| :cn[ext] | 跳转到下一项(错误) |
| :cp[rev] | 跳转到上一项(错误) |
| :cl | 列出所有错误 |
| :cc | 显示错误详细信息 |
| :copen | 打开quickfix窗口 |
| :cclose | 关闭quickfix窗口 |
| :col | 到前一个旧的错误列表 |
| :cnew | 到后一个较新的错误列表 |
vim+makefile入门编辑,编译,差错实例的更多相关文章
- 技巧:Vim 的纵向编辑模式【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 张 曜民 和 卢 丹2011 年 2 月 18 日发布 WeiboGoog ...
- 技巧:Vim 的纵向编辑模式
https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 开始之前 人类大脑对文字的处理是平面式的,所以我们浏览文章.查找资料或者重构代码 ...
- 【转载】技巧:Vim 的纵向编辑模式
如果要我选一个Vim中让我觉得Life Changing功能的话,我一定会选Vim的块编辑功能,也就是Ctrl+V,虽然还有些别的编辑器也有这功能,但目前为止,我从中受益颇大 原文地址:技巧:Vim ...
- 30天自制操作系统(二)汇编语言学习与Makefile入门
1 介绍文本编辑器 这部分可直接略过 2 继续开发 helloos.nas中核心程序之前的内容和启动区以外的内容先不讲了,因为还涉及到一些软盘方面的知识. 然后来讲的是helloos.nas这个文件 ...
- Java编辑编译及运行环境
Java编辑编译及运行环境 Microsoft Windows 编辑工具 EditPlus JDK JDK(Java Development Kit,Java开发工具包)安装JDK之后,其中bin文件 ...
- 转载:Vim 配置入门
转载:Vim 配置入门 原文地址:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 作者: 阮一峰 Vim 是最重要的编辑器之一,主要有下面几个优点. ...
- vim 插件 入门
vim 手册 vimtutor 精简版本 help user-manual 详细手册 一些vim自带设置 set nu "显示行号 set cursorline "高亮显示当前行 ...
- Vim多窗口编辑
在Linux中使用vim编辑多个窗口 方式: 1. vim -o file1 file2 打开的两个文件上下窗口分布 比如当前目录有makefil ...
- makefile实验四 编译本地的源文件 + 变量的高级主题一
<一>编译本地的源文件 + 变量的模式替换 实验代码 root@ubuntu:~/Makefile_Test/5make_test# vim makefile target := t ...
随机推荐
- MYSQL DISTINCT Optimization
在很多情况下,Distinct和order by的组合需要建立一个内存临时表. 因为distinct关键字可能利用group by,所以了解下mysql如何处理group by有帮助. distin ...
- properties文件中中文不能显示或者中文乱码
1.properties 文件中文乱码问题 鼠标“右击”文件 => Resource => Text file encoding => UTF-8 2.properties 文件解析 ...
- Hyperledger Fabric Membership Service Providers (MSP)——成员服务
Membership Service Providers (MSP) 本文将介绍有关MSPs的设置和最佳实践的详细方案. Membership Service Providers (MSP)是一个旨在 ...
- linkin大话面向对象--类和对象
我们每天在撸码,那么我们在敲什么东西呢?明显的我们在写类,写一个类,写一个接口,写某个接口里面写一些属性,在某个类里面写一个方法,然后以一个对象调用方法,对于j2ee来讲的话,可能还会写一些jsp,静 ...
- sublime markdown编辑配色
Boxy package control : install package 选择Boxy theme preferences->settings配置: { "color_scheme ...
- 如何书写优雅、漂亮的SQL脚本?
本篇来聊聊如何书写漂亮.整洁.优雅的SQL脚本,下面这些是我个人总结.整理出来的.姑且做个抛砖引玉吧,呵呵,欢迎大家一起来讨论. 我们首先来看看一段创建数据表的脚本(如下所示),你是否觉得有什么不 ...
- rem与@media 的优缺点
首先: 如果我们在做单独移动端网站或者app的时候 我建议 使用 rem ; 他能让我们在手机各个机型的适配方面:大大减少我们代码的重复性,是我们的代码更兼容. 下面两个图一个调试在常用的机 ...
- 【转】VMware 克隆 Linux 系统后找不到 eth0 网卡问题
[问题描述] 使用 VMware 虚拟机的克隆功能,快速复制已安装好的 Linux 系统. 克隆完成之后,发现没有 eth0 网卡. [解决方法] 1. 编辑 /etc/udev/rules.d/70 ...
- 主备(keepalived+nginx)
实验环境 系统: centos 6.9 mini 机器名 ip 虚拟ip kn1 192.168.126.10 kn2 ...
- C程序结构
从程序流程的角度来看,C语言中的语句可以分为3种基本结构:顺序结构.分支结构和循环结构. ① 顺序结构的执行过程如图5-1所示.在这种结构中,程序会顺序执行各条语句. ② 分支结构的执行过程如图5-2 ...