一、介绍
用途:建立文本文件、编写程序 、配置系统环境等
vi的原意为“visual”:
- 一个立即反应的编辑程序
- 全屏编辑器
vim是vi的改进版本:
- 最常用的命令都是简单的字符;
- 强大灵活的可配置性、各种插件、语法高亮、代码补全、配色方案等资源极其丰富
- 支持各种热门编程语言
二、基本用法
1、vi编辑器的启动:vi [ 选项 ][filename]
2、3种工作模式
命令模式:键盘接受的任何字符都被当作命令来解释,不会出现在屏幕上。
插入模式(编辑模式):输入的任何字母都被当做文件内容显示在屏幕上;
底行命令模式:在屏幕底部显示“:”,等待用户输入命令。
三、命令模式的用法
1、如何进入插入模式?
命令 模式 下输入:
- i 从当前的光标位置,开始输入字符
- I 光标移动到当前行的行首,开始输入字符
- a 从当前的光标的下一个位置,开始输入字符
- A 光标移动到当前行的行尾,开始输入字符
- o 光标所在行之下新增一行
- O 光标所在行之上新增一行
2、如何删除字符?
- x:删除光标所在的字符
- nx:从光标开始,向右删除n个字符
- X:删除光标前面的那个字符
- nX:从光标之前的那个字符开始, 向左删除n个字符
- dd:删除光标所在的整行
- D:从光标开始删除到行尾
3、如何查找字符串?
命令模式下输入:
- /字符串: 光标从当前位置开始向文件尾部查找,如果找到,光标停留在该字符串的首字母上;
- ?字符串:光标从当前位置开始向文件 头部查找,如果找到,光标停留该字符串的首字母上;
- n: 继续查找满足条件的字符串
- N:改变方向查找,继续查找满足条件的字符串。
- u : 撤销上一步操作
- . :重复上一步操作
四、底行命令模式用法
- :set nu //每一行前面出现行号
- :set nonu //不显示行号
- :n1,n2 co n3 //将从n1行-n2行之间(包括n1,n2行本身)的所有文本复制到第n3行之下
- :n1,n2 m n3 //将从n1行-n2行之间(包括n1,n2行本身)的所有文本移动到第n3行之下
- :n1,n2 d //删除从n1行-n2行之间(包括n1,n2行本身)的所有文本
- :n1,n2 s/字符串1/字符串2/g //将从n1行-n2行之间(包括n1,n2行本身)的所有字符串1,用字符串2替换
- w文件路径:保存
- wq:保存并退出
- q:退出
- q!:不保存文件直接退出
五、Linux下C语言编程
gcc编译器
【功能】调用C编译器,执行该命令后,将完成预处理、编译、优化、连接并最终生成可执行代码。
【格式】gcc [option] file-list
- 源代码文件要求带扩展名(*.c)
- 可执行代码默认存储在a.out文件中
【常用选项】
- -ansi :只支持ANSI标准的C语法
- -c:只生成目标文件(扩展名为.o),不进行连接
- -o file:指定可执行文件名为file,不是默认的a.out
- -O[level]:进行优化