Vim:
vim是类似于vi的著名的功能强大的,高度可定制的的文本编辑器,在vi的基础上改进和增加了很多特性,是一个自由软件,其在代码补全,编译错误跳转等编程的功能特别丰富,在程序员中被广泛应用。
普通模式:完成普通的基本命令
插入模式:向文件中插入数据
底行模式:退出/保存编辑 vim设置
模式切换:
普通<->插入
i 普通-》插入,从光标所在位置插入
a 普通-》插入,光标向后移动一个字符
o 普通-》插入,向光标所在行下方添加新行
I 普通-》插入,光标移动到行首
A 普通-》插入,光标移动到行尾
O 普通-》插入,向光标所在行上方添加新行
ESC 插入-》普通
普通<->底行
: 普通-》底行
ESC 底行-》普通
底行模式操作:
q 退出
w 保存
wq 保存并退出
q! 强制退出(不保存当次操作)
普通模式操作:
光标移动:
h/j/k/l 左下上右
w/b 向右/左按单词移动光标
复制
yy 复制光标所在行数据
nyy 从光标所在行开始向下复制n行数据
粘贴
P 向光标所在行上方粘贴新行
p 向光标所在行下方粘贴新行
删除/剪切
x 删除光标所在字符
dw 删除光标所在位置往后的单词
dd 删除光标所在行
撤销
u
回退
ctrl+r
常用工具:
root 用户下
yum install gcc
yum install gdb
yum install git
yum install lrzsz (上传 和 下载)
软件包管理工具:yum apt
查看软件包
查看所有软件包
yum list
查看已经安装的软件包
yum list installed
安装软件包
yum install packet_name
移除软件包
yum remove packet_name
编译过程:
预处理:展开所有代码
编译:语义语法纠错,无误则将代码编译生成汇编代码
汇编:将汇编代码解释生成机器可识别代码
链接:将所有的目标文件(每一个.c文件生成的机器代码)
以及外部的库,集合到一起,生成可执行程序
库文件:集合了大佬所写的很多标准函数实现的机器指令代码集文件
库的分类:静态库/动态库
静态链接:生成可执行程序时,链接静态库
(将库中的代码直接写入到可执行程序中)
优点:程序运行时,不依赖库文件的存在
缺点:资源浪费严重
动态链接:生成可执行程序时,链接动态库
只是写入了库种函数的符号信息
优点:资源充分利用
缺点:运行时依赖动态库的存在
gcc默认链接方式是动态链接
调试器:
gdb:调试程序,快速定位程序运行错误位置的工具
gcc默认编译生成的可执行程序是release版本程序
然而程序想要能够调试必须是debug版本
启动gdb:gdb加载程序信息
gdb ./execfile
gdb运行起来
内部运行 file execfile
常见命令:
gcc常用选项:
-E 预处理
-S 编译
-c 汇编
-o 指定生成文件名称
-static 静态链接
-g 开启程序调试模式,加入调式符号信息
生成debug版本程序
rpm和yum的区别
它们都是软件包管理器
rpm : 安装软件的时候如果此软件没有附加依赖性文件,那么软件会安装失败
yum: 安装软件的时候如果此软件没有附加依赖性文件,那么他会自动添加依赖性文件
Makefile:
自动化编译工具
git:
项目版本管理工具
下载代码:
git clone url
本地提交:
git add
git commit -m "可以附加一些说明信息"
代码上传
git push origin master