Vi 编辑器 (二) - 常用命令

本页提供了完整的 vi 编辑器命令列表,有关 vi 编辑器的使用方法请查看《Vi 编辑器 (一) - 使用基础》

  本页提供了完整的 vi 编辑器命令列表,有关 vi 编辑器的使用方法请查看《Vi 编辑器 (一) - 使用基础

Vi 编辑器命令大全
一般模式 移动光标
方向键 上、下、左、右 光标向上下左右移动一个字符
字母 h, j, k, l 光标向左下上右移动一个字符
ctrl+b 或 PageUp 屏幕向上翻一页
ctrl+f 或 PageDown 屏幕向下翻一页
ctrl+u 屏幕向上翻半页
ctrl+d 屏幕向下翻半页
+ 光标移动到非空格符的下一列 (用于跳开空行)
- 光标移动到非空格符的上一列
n[空格] 输入数字(n),然后按空格,光标向右移动 n 个字符
0 光标移动到本行起始处
$ 光标移动到本行末尾处
H 光标移动到屏幕最上方那一行
M 光标移动到屏幕中央那一行
L 光标移动到屏幕最下方那一行
G 光标移动到屏幕最后一行
nG 输入数字(n),再按G,光标会移动到文件第 n 行 (使用 :set nu 可在 vi 编辑器中显示行号)
n[回车] 输入数字(n),然后按回车,光标向下移动 n 行
一般模式 搜索与替换
/word 从光标处开始,向后搜索文本中出现 word 的字符串
?word 从光标处开始,向前搜索文本中出现 word 的字符串
:1,$s/word1/word2/g 在第 1 行与最后一行之间搜索 word1,并将其替换为 word2
:n1,n2s/word1/word2/g 在第 n1 行与第 n2 行之间搜索 word1,并将其替换为 word2
:1,$s/word1/word2/gc 在第 1 行与最后一行之间搜索 word1,并将其替换为 word2,替换前需要用户确认
一般模式 删除 (剪切)、复制与粘贴
x, X x 为向后删除一个字符,X 为向前删除一个字符
nx 向后删除 n 个字符
dd 删除光标所在行
ndd 从光标处开始删除 n 行
d1G 删除光标到第 1 行的所有内容
dG 删除光标到最后一行的所有内容
yy 复制光标所在行的内容
nyy 从光标处开始复制 n 行的内容
y1G 复制光标到第 1 行的所有内容
yG 复制光标到最后一行的所有内容
p, P p 为将复制或剪切的内容粘贴在光标下一行,P 为粘贴在上一行
J 将光标所在列与下一列结合成同一列
u 撤消上一操作
  编辑模式
i 进入编辑模式
a 进入编辑模式,将光标向后移动一位
o 进入编辑模式,在光标处插入一个空行
r[字符] 按下 r 键,再按任意字符键,将光标所在处的字符替换成新输入的字符
Esc 退出编辑模式
一般模式 管理命令
:w 保存
:w! 强制保存
:q 退出 vi 编辑器
:q! 强制退出 (不想保存时使用此命令)
:e! 撤消所有编辑
ZZ 保存并退出
:w [文件名] 另存为...
:r [文件名] 读取另一个文档的内容,内容追加到光标所在行之后
:set nu 在 vi 编辑器中显示行号
:set nonu 取消行号
n1,n2 w [文件名] 将第 n1 行与第 n2 行之间的内容另存为...
:! [命令] 暂时离开 vi 编辑器,并在 shell 中执行命令

 


付费阅读