1. vi编辑器

- VI visual interface(可视化接口)
- Linux中的编辑器,类似与windows中的记事本
- VIM是VI编辑器的升级版
- 不需要鼠标,只用键盘就可以

2. 操作模式

模式名 含义
命令模式 等待输入的模式
输入模式 编辑模式,用于输入文本
底行(尾行、末行)模式 可以输入指令,搜索,保存
【linux】vi编辑器_搜索

3. 打开文件

- 输入vi 文件名可以进入这个模式
命令 含义
vim 文件名 打开文件定位到第一行
vim + 文件名 打开文件定位到最后一行
vim +2 文件名 打开文件定位到第三行,如果没有这么多行定位到最后一行

4. 底行模式

命令 含义
:w 把写入保存到硬盘中
:q 退出当前VI编辑器打开的文件
:wq! 强制保存
:数字 快速当位到当前文件的第几行
/xxx 从光标位置开始向后搜索 xxx 字符串
?xxx 从光标位置开始向前搜索

5. 命令模式

5.1 光标

命令 含义
h 光标左移
j 光标下移
k 光标上移
l 光标右移

5.2 翻页

命令 含义
ctrl+f 向下翻页
ctrl+b 向上翻页
ctrl+d 向下翻半页
ctrl+u 向上翻半页

5.3 插入类

命令 含义
i 在当前位置插入
a 在当前光标右边插入
A 在当前光标右的行末插入文件
o 在光标所在行的下方插入一行并切换到输入模式
O 在光标所在行的上方插入一行并切换到输入模式
s 删除当前光标位置并插入

5.4 删除类

命令 含义
x 删除当前字符
dw 从当前光标当前位置直到单字/单字末尾,包括空格
de 从当前光标当前位置直到单字/单字末尾,但是不包括空格
d$ 从当前光标当前位置删除到当前行末

5.5 行删除类

命令 含义
dd 删除光标所在行
2dd 删除光标2行

5.6 撤销

| 命令| 含义|
| u |撤消最后执行的一次命令|
| U |恢复该行的原始状态|
| CTRL-R| 恢复重做命令|

5.7 剪切类

命令 含义
dd 删除光标所在行
yy 复制光标所在的行
p 在光标所在行的下方粘贴
P 在光标所在行的上方粘贴

5.8 替换类

命令 含义
r 替换当前位置字符
cw 修改单词
c$ 修改当前位置到行尾

5.9 跳转指定行

命令 含义
CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息
SHIFT-G 当前光标跳到文件中的文件最后一行
number SHIFT-G 先输入数字再按SHIFT+G则当前光标跳到文件中的文件对应数字的行

5.10 搜索

命令 含义
/ 输入/可以在当前的文件中查找该字符串
n 查找下一个
Shift-N 查找上一个
? 逆向查找字符串
shift+% 可以将光标移动到匹配的括号上
shift+$ 可以将光标移动到行尾

5.11 修正错误

命令 含义
?/old/new 把光标所在行的old替换成new
?/old/new/g 把所有行的old替换成new

6. 模式切换图

【linux】vi编辑器_vi编辑器_02