前言

Vi部分指令表

文本修改命令

文本修改命令 说明
i/I i 命令将文本插入到光标所在位置前;I 命令将文本插入当前行的行首
a/A a 命令将新文本追加到光标当前所在位置之后;A 命令将新文本追加到所在行的行尾
o/O o 命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首;O 命令在光标所在行的上面插入一个空行,并将光标置于该行的行首

文本删除命令

文本删除命令 说明 文本删除命令 说明
x 删除光标处的字符 d( 删除到上一句开始的所有字符
X 删除光标前面的字符 d) 删除到下一句开始的所有字符
dd 删除光标所在的整行 d{ 删除到上一段开始的所有字符
D 或 d$ 删除从光标所在处开始到行尾 的内容 d} 删除到下一段开始的所有字符
d0 删除从光标前一个字符开始到 行首的内容 d\ 删除包括当前行在内的两行字符
dw 删除一个单词

文本复制命令

文本复制命令 说明 文本复制命令 说明
yy 复制光标所在的整行 y{ 复制到上一段的开始
Y 或 y$ 复制从光标所在处开始到行尾的内容 y} 复制到下一段的开始
y0 复制从光标前一个字符开始到行首的内容 y\ 复制包括当前行在内的两行内容
y( 复制到上一句的开始 yw 复制一个单词
y) 复制到下一句的开始

文本粘贴命令

文本粘贴命令 说明
p 粘贴命令,粘贴当前缓冲区中的内容

文本选择命令

文本选择命令 说明
v 在命令模式下进行文本选择
V 在命令模式下按行进行文本选择

vi撤销命令

vi撤销命令 说明
u 该命令撤销上一次所做的操作。
U 该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次 U 命令则撤销之前的 U 命令所做的操作,恢复被撤销的内容。

vi重复命令

vi重复命令 说明
. 重复上次操作

vi退出命令

vi退出命令 说明
:q 如果退出时当前编辑文件尚未保存,则 vi 并不退出
:q! 该命令不论文件是否改变都会强行退出 vi 编辑器
:w (新文件名) 保存当前编辑文件,但并不退出(可另存为新文件名)
:w! 新文件名 即使指定的新文件存在,vi 编辑器也会用当前编辑文件对其进行替换
:wq vi 将先保存文件,然后退出 vi 返回到 shell
:x 若当前编辑文件曾被修改过,则 vi 会保存该文件。否则 vi 直接退出,不保存该文件。