进入编辑模式
i
在光标当前位置开始编辑
I
在光标所在行首开始编辑
a
在光标后一字符开始编辑
A
在光标所在行尾开始编辑
o
在光标下新增一行开始编辑
O
在光标上新增一行开始编辑
离开编辑模式
ESC
移动光标
编辑模式中,使用上、下、左、右键移动光标
命令模式中,使用h(左)、j(下)、k(上)、l(右)移动光标
0(数字0)
光标移动到行首
^
光标移动到所在行第一个可见字符处
$
光标移动到行尾
H
光标移动到屏幕第一行
M
光标移动到屏幕中间行
L
光标移动到屏幕最后行
ctrl+f
后翻一屏
ctrl+b
前翻一屏
gg
光标移动到文件第一行
G
光标移动到文件最后一行
:行号
光标移动到指定行
编辑
x
删除光标后一字符
X
删除光标前一字符
d0 (数字0)
删除光标所在行首到光标的所有字符
d$
删除光标到所在行末所有字符
dd
删除光标所在行
u
撤销前次编辑命令
.
重复前次编辑命令
查找
/pattern
从光标开始处向文件尾搜索pattern
?pattern
从光标开始处向文件首搜索pattern
n
继续往后查找
N
继续往前查找
替换
:s/str1/str2
将当前行第一个str1替换为str2
:s/str1/str2/g
将当前行所有str1替换为str2
:1,$s/str1/str2/g
从第一行到最后一行的所有str1替换为str2
文件操作
:q
退出vi,如果文件未保存,会收到一个提示并无法退出
:q!
不保存文件直接退出vi
:w
保存文件
:w!
即使文件为只读,也保存文件