1.vim文本编辑器
#vim b.txt 按“a或i”进入编辑模式 esc返回到命令模式
:冒号进入底行命令模式 按wq保存退出。
注意:只能从命令模式进入其他模式!
1.命令模式 :打开文本时候的一开始的模式,也叫全局模式
yy复制光标所在的一行数据
P: 粘贴到光标所在行的下一行
nyy:复制n行
dd:剪切光标所在的一行数据
ndd:剪切n行
u:撤销
Shift +zz:快捷退出 命令模式下
/ :查找字符串
G :光标移动到文件尾(大写)
gg :光标移动到文件头
2.编辑模式:编辑文本时的模式 按a或i进入
3.底行模式:按:冒号。
set nu:设置行号 nonu 取消行号
:%s/源字符串/目标字符串/g //字符串替换
:wq 保存退出
二、gcc编译过程
回顾源代码编译过程
- 准备源文件
- 预处理:删除注释,进行宏替换,引入头文件(声明函数)
- 汇编:把c语言翻译成汇编语言,进行条件编译
- 编译:把汇编代码编译成二进制文件(不可执行),也叫目标文件。
- 链接:把使用到的库函数拷贝到二进制文件当中
预处理:gcc -E 源代码(xxx.c) -o 预处理文件(xxx.i)
汇编: gcc -S 预处理文件 -o 汇编文件(xxx.s)
编译: gcc -c 汇编文件 -o 目标文件(xxx.o)
链接: gcc 目标文件 -o 可执行的文件
一步到位:gcc 源文件 -o 可执行文件 (如果不用-o,默认生成a.out文件)
只编译不连接 : gcc -c 源文件 -o 目标文件
执行程序: ./ 执行当前目录下的可执行文件
三、程序可传参数
运行程序的时候可以给这个程序传递一个参数,则需要在主函数里设置形参,通用写法:
int main (int argc ,char *argv[]) //可以从命令行中接收参数
argc :记录命令行传递参数的个数,包括程序本身也算一个。
argv :记录命令行所有参数。(均存为此数组中的元素)
(ps:主函数可传参数里还可加上 char **environ ,这个参数就指向环境变量表里的第一个参数,其实环境变量表是一个数组的数组,记录的环境变量及其值其实是一个字符串) [为什么环境变量数组不会越界,因为环境变量数组的最后一个元素是0]
四、环境变量
环境变量 记录当前用户运行环境的参数的集合
环境变量表:记录了大部分环境变量
#env //查看环境变量表
#echo $环境变量 //查看环境变量的值(echo是干嘛的?)
#export 环境变量=$环境变量: ./ 可以在环境变量后面加路径 (临时设置)
export PATH=./:$PATH (注意等号前后不能加空格)
在~/.bashrc 文件末尾加上上面命令可永久生效
Source ~/.bashrc //重启