本文最后更新于 2026-01-30,文章内容可能已经过时。

vi/vim 是一款基于三种核心模式(命令模式用于导航与编辑操作、插入模式用于文本输入、底行模式用于文件管理与高级指令)的高效终端文本编辑器。熟练掌握模式切换(如 ESC 退出插入、i/a/o 进入插入、: 进入底行)及各模式下的关键命令(如 hjkl 移动、dd/yy/p 操作文本、:wq 保存退出、/ 查找、:%s 替换等),是实现快速精准编辑的核心。虽初学需适应其逻辑,但一旦掌握,即可在无图形界面的 Linux 环境中实现高效、流畅的文本处理,是系统管理与开发者的必备技能。

一、三种基本模式

1. 命令模式(Command Mode)

启动vi/vim后默认进入此模式,用于执行各种编辑命令。

2. 插入模式(Insert Mode)

用于输入文本内容,按ESC可返回命令模式。

3. 底行模式(Command-Line Mode)

用于执行文件操作命令,如保存、退出等。


二、命令模式常用命令

光标移动

命令解释
h/j/k/l左/下/上/右移动光标
0(数字零)移动到当前行行首
$移动到当前行行尾
gg移动到文件第一行
G移动到文件最后一行
nG移动到第n行(n为数字)
w向右以单词为单位移动
b向左以单词为单位移动
Ctrl + f向下翻一页
Ctrl + b向上翻一页

文本操作

命令解释
i在光标前插入文本
a在光标后插入文本
o在当前行下方插入新行并进入插入模式
O在当前行上方插入新行并进入插入模式
x删除光标所在字符
X删除光标前一个字符
dd删除当前行
ndd删除当前行及向下n行
yy复制当前行
nyy复制当前行及向下n行
p粘贴到光标下方
P粘贴到光标上方
u撤销上一次操作
Ctrl + r重做上一次撤销的操作
r替换光标所在处的单个字符
R进入替换模式,连续替换字符直到按ESC

模式切换

命令解释
i/a/o进入插入模式
:进入底行模式
ESC从插入模式返回命令模式

三、底行模式常用命令

命令解释
:w保存文件
:q退出Vim
:q!强制退出,不保存修改
:wq保存并退出
:wq!强制保存并退出
ZZ保存并退出(命令模式下直接按)
:set nu显示行号
:set nonu取消显示行号
:n跳转到第n行
/text向下查找text
?text向上查找text
n查找下一个匹配项
N反向查找下一个匹配项
:%s/old/new/g全局替换old为new
:n1,n2s/old/new/g在n1到n2行间替换old为new
:w filename另存为filename

四、基本操作流程

  1. 打开文件:vim filename
  2. 编辑文本
    • 按i进入插入模式
    • 输入文本内容
    • 按ESC返回命令模式
  3. 保存退出
    • 按:进入底行模式
    • 输入:wq保存并退出

掌握这些基本命令后,您就可以高效地使用vi/vim进行文本编辑了!