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 ... 
随机推荐
- Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
			现象:通过html生成jade文件之后,更改jade文件时,语句没什么问题的情况下,jade文件编译不通过,报错:Invalid indentation,you can use tabs or spa ... 
- BOM基础知识
			1.什么是BOM BOM(Browser Object Document)即浏览器对象模型. BOM提供了独立于内容 而与浏览器窗口进行交互的对象: 由于BOM主要用于管 ... 
- NumPy-矩阵部分
			NumPy-矩阵部分 [TOC] NumPy 简介 numpy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多. 安装NumPy pi ... 
- BIGIP-LTM中的NAT和SNAT
			http://250688049.blog.51cto.com/643101/1095880 一.NAT(Network Address Translation)网络地址转换1.NAT简介 NAT ... 
- 2017-06-22(locate shutdown  half poweroff init0 reboot init 6)
			locate locate 文件搜索命令 格式:locate [文件名] locate 在后台数据库中(/var/lib/mlocate/mlocate.db)按文件名搜索,速度快 刚刚新建的文件, ... 
- JVM-类的四种载入方式
			package org.burning.sport.javase.classloader; public class ClassLoaderMain { public static void main ... 
- Go_Hello word
			与Go相关直接命令有哪些? go get 获取远程包 go run 直接运行程序 go bulid 测试编译 go fmt 格式化代码 go install 编译包文件 ... 
- java —— equals 与 ==
			equals 众所周知,java 中的所有的类都继承自 Object 这个超类 ,他就是Java所有类的父类或祖先类,Object类里面有一个equals方法,并且提供了默认的实现,如下所示. pub ... 
- There were X failed login attempts since the last successful login
			如题,开始玩Linux的人,每次登陆的时候,肯定会遇到这个提示,好担心系统被人攻破,那怎么把这些试探的IP抓出来,并屏蔽呢,今天就记录一下我的做法,供大家参考 其实这个问题已经在系统级别支持解决,目前 ... 
- linux相关概念
			最近这段时间玩Linux比较多,前面我也转载了好多的相关的Linux指令.这里自己关于Linux概念来自己整理一下. 首先我们应该知道Linux到底是什么? 我们知道Linux这玩意儿是在计算机上面运 ... 
