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 ...
随机推荐
- vue学习笔记(一)——why Vue
- scrapy_对传到items的值预处理
如何实现对值进行预处理? 对于传递进items的值,首先明白有两个动作,进和出,那就可以分别对这两个动作进行逻辑处理 #!/usr/bin/python3 # -*- coding: utf-8 - ...
- 【Java框架型项目从入门到装逼】第十四节 查询用户列表展现到页面
这一节,我们来实现一下用户列表搜索,最终的效果如下: 这边我们要使用easyUI给我们提供的datagrid组件. HTML结构如下 <!-- 数据列表 --> <table id= ...
- Arrays.sort解析
Arrays.sort()解读 在学习了排序算法之后, 再来看看 Java 源码中的, Arrays.sort() 方法对于排序的实现. 都是对基本数据类型的排序实现, 下面来看看这段代码: Arra ...
- js内置函数大全及基本使用方法(一)
一,常规函数 alert函数:显示一个警告对话框,包括一个OK按钮. 语法:alert("hello world"); confirm函数:显示一个确认对话框,包括OK.Cance ...
- MySQL--pt-osc工具学习
##=====================================================##pt-osc之工作流程:1.检查更改表是否有主键或唯一索引,是否有触发器2.检查修改表 ...
- Codeforce A. Fair Game
A. Fair Game time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- oracle plsql exception例外
以下plsql程序用的scott用户的dept,emp表. not_data_found例外: --系统列外 set serveroutput on declare pename emp.ename% ...
- office2013使用空格符
空格符:所有的空格都以点表示出来. 作用:挑出空格符后,可以很方便的看到所有的空格,分页符等,使页面更容易调整的工整(在写正规的word文档时,需要这样做). 用法:很简单,根据图片上操作的顺序即可调 ...
- Keepalived+LVS 实现高负载均衡Web集群
一.原理及简介: 1.1 Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节 ...