vim的三种模式
命令模式
打开后的默认模式,或者esc进入
y 单词名 复制单词用
5yy 从光标开始往下复制五行
3dd 从光标开始往下剪切或者删除三行
p在光标位置后粘贴 P在光标位置前粘贴
u撤销操作
ctrl +r 取消撤销
gg 到代码开头位置
G到代码结尾位置
gg=G代码对齐
6G 光标移动到第六行
命令模式下光标移动 ←h ↓ j ↑ k l→
编辑模式
由命令模式下按 i a o 进入
i从光标左开始插入编辑
a从光标右开始插入编辑
o换行开始编辑
r替换一个字符
底行模式
编辑模式下先esc进入命令模式
命令模式下输入: ? / 皆可进入底行模式,删除则回复命令模式
:w保存
:q退出
:wq 保存退出
:w /home/test name 保存路径和新的命名
:q!不保存退出
:!ls /home/ 查看目录
:1,9y=9yy 都是复制一到九行
:2,5d 删除或者剪切二到五行
:1,9co10 复制一到九行到10行
:1,8mo10 剪切一到九行到10行
:5,10s/printf/cout/g 将5到10行的printf替换为cout s表替换模式g的作用为强制替换不解释
:4,9s/\\n/\\t/g 将4到9行的转义字符替换
编译器
gcc test.c 一步编译生成可执行文件
./a.out 执行生成的文件
gcc test.c -o name 编译生成指定的name
分段处理
预处理阶段,替换宏定义,删除注释代码,生成有效代码.i
gcc -E test.c -o test.i
编译阶段,检查C语法的错误,有错误则报错,没有则生成汇编.s文件
gcc -S test.i -o test.s
汇编阶段,生成机器码文件.o
gcc -c test.s -o test.o
链接阶段,将项目中的所有目标文件链接生成可执行文件,链接所包含的函数库lib
gcc test.o -o test
函数要先声明后使用,也可先extern