本人小白,大佬勿喷。最近学习Linux,每隔一段时间就把整理下学习的内容,发布在博客上。
vi编译器有三种模式:
命令模式 插入模式 底行模式
a:进入编辑状态,在当前光标后面一个位置插入键盘字符
i:进入编辑状态,在当前光标位置插入键盘字符
o:进入编辑状态,在当前光标下一行插入键盘字符
A:进入编辑状态,在当前行尾插入键盘字符
I: 进入编辑状态,在当前行首插入键盘字符
O:进入编辑状态,在当前光标上一行插入键盘字符
解释命令
:!
vi保存和推出命令:
:q 退出没有修改的文件。若文件已经被修改,则此命令无效。
:q! 强制退出,且不保存修改的部分。
:w 保存文件,但不退出。
:x 保存文件并退出。
:wq 保存文件并退出。
:w File 另存为File给出的文件名,不退出。
:r File 读入File指定的文件。
例子 :引入头文件
y 复制一行
p 粘贴
u 撤回上次操作
x 删除当前光标所在字符
:N 移动光标到第N行
G 移动光标到文件最后
1G 移动光标到文件第一行
:set nu 设置显示行号
:set 取消行号显示
vi查找命令:
/string 查找字符串
n 继续查找
N 反向继续查找
支持正则表达式,如:/^the(以the开头的)
vi替换命令:
:s/str1/str2/ 当前行替换 g 一行中若有多个str1,全部替换(不加g 默认替换第一个str1)
:s/str1/str2/g 当前行替换
:.,$ s/str1/str2/g 当前行到最后一行替换
:1,$ s/str1/str2/g 第一行到最后一行替换
:%s/str1/str2/g 全文
g 一行中若有多个str1,全部替换(不加g 默认替换第一个str1)
代码块复制,删除
GCC编译器
.c C语言源代码
.h 程序所包含的头文件
.i 已经处理过的C语言源代码文件
.s 汇编语言源代码
.o 编译后的目标文件
利用_FILE_,_LINE_,_FUNCTION_实现代码跟踪调试
#includeint main(int argc,char **argv)
{
printf("$s,%s,%d\n",_FILE_,_FUNCTION_,_LINE_);
return 0;
}