一、vim命令

Linux下的vim编辑器分为三种模式,分别为一般模式、插入模式、底行指令模式,进入三种模式的方法分别如下:

  • 一般(命令)模式(刚进入的模式,vim命令模式) 进入vi时的模式,当前为插入模式下按ESC键可到一般模式,一般模式用来复制、粘贴、删除等操作;
  • 插入模式(或称为编辑模式) 按下A,a,I,i,O,o进入(有所区别,按照效率选择),插入模式用来编辑代码内容;
  • 底行指令模式 :,/,?(用的:和 / 较多),底行命令模式主要用来保存文件、退出、查找文本内容等。

命令模式

  1. # 移动光标
  2. (1)(编辑模式下)使用上下左右方向键
  3. (2)命令模式下
  4. h 向左、j 向下、k 向上、l 向右。
  5. (3)空格键向右、Backspace向左、Enter移动到下一行首、-移动到上一行首。
  6. # 删除、恢复字符或行(vim命令模式下使用)
  7. x //删除当前字符
  8. nx //删除从光标开始的n个字符
  9. dd //删除当前行
  10. ndd //向下删除当前行在内的n行
  11. dgg:删除光标当前行及以上内容
  12. dG:删除光标当前行及以下内容
  13. dH:删除当前页面第1行至光标行
  14. u //撤销上一步操作
  15. Ctrl + r:反撤销(一次)
  16. U //撤销对当前行的所有操作
  17. zz //保存修改并退出
  18. # 查找内容:
  19. 1、“/”:这个查找是自上而下
  20. 2、“?”:这个查找是自下而上
  21. # 针对“/”:使用“n”查找下一个,使用“N”查找上一个

查找替换

  1. 1. 基本的替换
  2. :s/vivian/sky/ 替换当前行第一个 vivian sky
  3. :s/vivian/sky/g 替换当前行所有 vivian sky
  4. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian sky
  5. :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian sky
  6. n 为数字,若 n .,表示从当前行开始到最后一行)
  7. ssubstitute的简写,表示执行替换字符串操作;
  8. option:表示操作类型,默认只对第一个匹配的字符进行替换;
  9. option字段值g(global)表示全局替换;
  10. c(comfirm)表示操作时需要确认;
  11. i(ignorecase)表示不区分大小写;

末行模式

  1. 设置行号
  2. :set nu //显示行号
  3. :set nonu //取消显示行号
  4. 退出
  5. :wq //保存并退出
  6. :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)

  1. gcc -E hello.c -o hello.i
  2. gcc -S hello.i -o hello.s
  3. gcc -c hello.s -o hello.o
  4. gcc hello.0 -o hello
  5. tips:
  6. chmod +x hello.c 添加权限