一、vim命令
Linux下的vim编辑器分为三种模式,分别为一般模式、插入模式、底行指令模式,进入三种模式的方法分别如下:
- 一般(命令)模式(刚进入的模式,vim命令模式) 进入vi时的模式,当前为插入模式下按ESC键可到一般模式,一般模式用来复制、粘贴、删除等操作;
- 插入模式(或称为编辑模式) 按下A,a,I,i,O,o进入(有所区别,按照效率选择),插入模式用来编辑代码内容;
- 底行指令模式 :,/,?(用的:和 / 较多),底行命令模式主要用来保存文件、退出、查找文本内容等。
命令模式
# 移动光标(1)(编辑模式下)使用上下左右方向键(2)命令模式下h 向左、j 向下、k 向上、l 向右。(3)空格键向右、Backspace向左、Enter移动到下一行首、-移动到上一行首。# 删除、恢复字符或行(vim命令模式下使用)x //删除当前字符nx //删除从光标开始的n个字符dd //删除当前行ndd //向下删除当前行在内的n行dgg:删除光标当前行及以上内容dG:删除光标当前行及以下内容dH:删除当前页面第1行至光标行u //撤销上一步操作Ctrl + r:反撤销(一次)U //撤销对当前行的所有操作zz //保存修改并退出# 查找内容:1、“/”:这个查找是自上而下2、“?”:这个查找是自下而上# 针对“/”:使用“n”查找下一个,使用“N”查找上一个
查找替换
1. 基本的替换:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky(n 为数字,若 n 为 .,表示从当前行开始到最后一行)s:substitute的简写,表示执行替换字符串操作;option:表示操作类型,默认只对第一个匹配的字符进行替换;option字段值g(global)表示全局替换;c(comfirm)表示操作时需要确认;i(ignorecase)表示不区分大小写;
末行模式
设置行号:set nu //显示行号:set nonu //取消显示行号退出:wq //保存并退出:q! //强制退出,不保存
二、GCC预处理,编译,汇编,链接
vim hello.c 用vim创建hello.c文件。
gcc hello.c -o hello 编译生成文件。
./hello 运行文件。
预处理 展开头文件/宏替换/去掉注释/条件编译 (test.i main .i)
编译 检查语法,生成汇编 ( test.s main .s)
汇编 汇编代码转换机器码 (test.o main.o)
链接 链接到一起生成可执行程序 (a.out)
gcc -E hello.c -o hello.igcc -S hello.i -o hello.sgcc -c hello.s -o hello.ogcc hello.0 -o hellotips:chmod +x hello.c 添加权限
