1. vi编辑器 #

2. 操作模式 #

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

vimode

3. 打开文件 #

命令 含义
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 修正错误 #

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

6. 图 #

6.1 模式切换 #

vi

6.2 键位图 #

vikey