vim是linux系统中功能强大的文本编辑器,它的核心设计理念是通过不同的工作模式区分编辑、命令、可视等不同操作场景,避免操作冲突,提升编辑效率。理解vim的工作模式是使用它的第一步,也是最关键的一步。

vim的四种核心工作模式
1. 普通模式(Normal Mode)
普通模式是vim启动后的默认模式,在这个模式下,所有的键盘输入都会被识别为命令,而不是文本内容。普通模式主要用于移动光标、复制粘贴、删除文本、查找替换等操作。
进入方式:启动vim后默认进入,或者在其他模式下按Esc键返回。
常用操作示例:
h/j/k/l:分别对应左、下、上、右移动光标dd:删除当前行yy:复制当前行p:粘贴复制或删除的内容/关键词:向下查找指定关键词
2. 插入模式(Insert Mode)
插入模式是专门用于输入和编辑文本内容的模式,在这个模式下,键盘输入的内容会直接插入到文档中,和普通的文本编辑器操作逻辑一致。
进入方式:在普通模式下按以下按键进入:
i:在光标当前位置前插入a:在光标当前位置后插入o:在当前行下方新开一行插入I:在光标所在行行首插入A:在光标所在行行尾插入O:在当前行上方新开一行插入
退出方式:按Esc键返回普通模式。
3. 命令模式(Command Mode)
命令模式也叫末行模式,主要用于执行文件保存、退出、全局替换、设置编辑器参数等操作,命令输入后会显示在vim窗口底部的命令行区域。
进入方式:在普通模式下按:键进入。
常用操作示例:
:w " 保存当前文件 :q " 退出vim,如果文件有修改未保存会提示错误 :wq " 保存并退出 :q! " 强制退出不保存修改 :%s/old/new/g " 全局替换,把文件中所有的old替换为new :set nu " 显示行号 :set nonu " 取消显示行号
4. 可视模式(Visual Mode)
可视模式用于选中文本块,选中后可以对选中的区域执行复制、删除、替换等操作,比普通模式下逐行操作更高效。
进入方式:在普通模式下按以下按键进入:
v:进入字符可视模式,按字符选中文本V:进入行可视模式,按行选中文本Ctrl+v:进入块可视模式,按矩形块选中文本
退出方式:按Esc键返回普通模式。
模式之间的切换关系
vim的四种模式切换遵循固定的逻辑,其中普通模式是核心中转模式,大部分模式切换都需要先回到普通模式:
| 当前模式 | 目标模式 | 切换方式 |
|---|---|---|
| 普通模式 | 插入模式 | 按i/a/o/I/A/O等按键 |
| 普通模式 | 命令模式 | 按: |
| 普通模式 | 可视模式 | 按v/V/Ctrl+v |
| 插入/命令/可视模式 | 普通模式 | 按Esc键 |
实际编辑场景示例
假设我们需要新建一个test.txt文件,写入一行内容后保存退出,完整操作流程如下:
- 在linux终端输入
vim test.txt,启动vim后默认进入普通模式 - 按
i进入插入模式,输入文本内容:这是vim编辑的测试内容 - 按
Esc返回普通模式 - 按
:进入命令模式,输入wq后按回车,保存并退出vim
如果后续需要修改这个文件,把测试内容替换为正式内容,操作流程为:
- 终端输入
vim test.txt打开文件,进入普通模式 - 按
/测试查找测试关键词,光标定位到对应位置 - 按
i进入插入模式,修改内容 - 按
Esc返回普通模式,按:进入命令模式,输入wq保存退出
注意:新手使用vim时最容易犯的错误是在插入模式下想执行保存操作,直接输入:wq,导致这些内容被写入文件。一定要记住,所有命令操作都需要先按Esc回到普通模式,再按:进入命令模式执行。
总结
vim的工作模式设计是其高效的核心原因,普通模式负责命令操作,插入模式负责文本输入,命令模式负责文件管理,可视模式负责块操作,四种模式各司其职。只要记住Esc键可以回到普通模式这个核心点,就能快速掌握模式切换逻辑,后续再通过多练习常用操作,就能熟练使用vim完成各种文本编辑任务。
vimlinuxnormal_modeinsert_modecommand_mode修改时间:2026-07-14 15:39:28