嵌入式养成计划-2-vim文本编辑器&Linux下gcc编译器,Linux下的helloworld.c程序

七、vim编辑器

  1. 作用:类似于txt,是一个文本编辑器
  2. 格式:vi 文件名 或者 vim 文件名
  3. vim 是 vi 的plus版,二者差不多
 1.无论是touch还是vim,均不识别后缀名
 2.touch创建文件自动生成,不会自动打开
 3.vim编译器手动保存,创建并打开,需要写入并保存后才能创建成功,否则创建无效

7.1 vim 编辑器的三种模式

7.1.1 命令行模式

命令行模式

  • 作用:复制,粘贴,剪切,撤回,反撤回
复制的方法:
	yy      复制光标所在行
	nyy     复制从光标开始的n行
	选中y    随意赋值你需要的内容
	进入底行模式 m,ny  通过底行命令赋值m-n行内容
	shift 左键选中,shift 右键复制,双击右键粘贴

粘贴:
	p       粘贴


剪切:
	dd      剪切光标所在行
	ndd     剪切从光标开始的n行
	选中d    随意剪切你需要的内容
	进入底行模式 m,nd  通过底行命令剪切m-n行内容

光标跳动:
	gg     光标跳转到首行的第一个字母
	G      光标跳转到尾行的第一个字母
	ngg  nG 光标跳转到第n行的第一个字母

灵活搭配:
	=       格式对齐
	ggyG   全文复制
	ggdG    全文剪切
	gg=G    全文对齐

撤回:
	u        撤回
	ctrl r   反撤回

7.1.2 插入模式

插入模式

  • 作用:编辑内容
a    	在光标后插入
A    	在光标所在行的尾字母插入
I    	在光标所在行的首字母插入
i    	在光标前插入
o    	在光标所在行下一行插入
O    	在光标所在行上一行插入
s    	剪切光标所在字母,并在该位置插入
S    	剪切光标所在行,并在该行首插入
insert 	在光标前插入

7.1.3 底行模式

底行模式

  • 作用:保存,退出,查找,替换
保存与退出
	:w    保存
	:q    退出不保存
	:wa   全部保存
	:q!    强制退出
	:w!    强制保存并退出
	:wq    保存退出
	:x    保存退出

查找
	:/字符串    高亮显示查找的字符串,不区分大小写
	:nohlsearch  --->:noh   取消高亮

替换
	:%s/字符串1/字符串2    替换全文每行的首字符串1为字符串2
	:%s/字符串1/字符串2/g    替换全文符串1为字符串2
	:m,ns/字符串1/字符串2/g   替换m-n行符串1为字符串2

设置行号
	:set nonumber --->:set nonu  取消行号
	:set number   --->:set nu    设置行号

7.2 三种模式的切换

三种模式的切换

八、gcc编译器

  1. 常见的执行方式
   gcc 文件名.c    默认生成a.out可执行文件
   ./a.out
  1. 自定义可执行文件
	gcc 文件名.c -o 自定义可执行文件名
    ./自定义可执行文件名
  1. gcc分步编译【考点及面试】 -ESc .iso
 加的参数:		-E         -S        -c    无参数
 阶段:   	预处理阶段--->编译阶段---> 汇编--->链接
生成的文件后缀:		.i			.s		.o		.out

预处理阶段:
展开头文件,替换宏,删除注释
gcc -E hello.c -o hello.i
编译阶段:
检查语法的正确性

详细来说就是编译器的六阶段:
 词法分析、语法分析、语义分析、中间代码生成、中间代码优化、目标代码生成(生成的是汇编代码)。
 部分编译器会有第七个阶段:目标代码优化

gcc -S hello.i -o hello.s
汇编:
把汇编文件生成目标文件,二进制文件
gcc -c hello.s -o hello.o
链接:
把多个目标文件链接为可执行文件
gcc hello.o -o a.out

九、第一个程序 “helloworld.c”

vim helloworld.c创建 .c 文件

  • 这个地方要说一下代码补全的操作:
第一步输入命令:vi ~/.vim/snippets/c.snippets
第二步:进入vi文件,点击G进入到最后一行
第三步:点击p/a/i会打开,灰色线的隐藏代码
第四步:在主函数 main 上面加入头文件
		#include <stdio.h>
		#include <string.h>
		#include <stdlib.h>
第五步::wq保存即可

如果第一步打开后没有内容,就是 家目录(那个 ~ ) 下没有 .vim 这个目录文件,那就下载这个压缩包,然后解压了扔到家目录下。

  • 然后可以开始编写程序了
    如果配置好了那个代码补全的玩意,可以输入 main 后按 tab 键,别说不知道tab键,不知道就看上一个文档发的。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
	printf("hello,world!\n");
	return 0;
}

然后保存退出,按Esc后输入下面的内容:
:wq然后回车

  • Esc键一般在键盘的左上角
  • 回车键就是 Enter 键,在键盘的右侧,数字旁边,自己找。

之后可以在控制台(就那个黑框)中输入命令进行编译了
gcc helloworld.c然后回车
在之后就可以运行了,还是在那个黑框输入
./a.out还是回车

  • 可以拿下面的内容练练指令的操作
    小作业
  • 下面是我做的
    我做的
    思维导图
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhk___

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值