在 Vim 编辑器中执行命令是高效使用该工具的核心技能之一,Vim 的命令执行模式主要分为普通模式(Normal Mode)、插入模式(Insert Mode)、可视模式(Visual Mode)和命令行模式(Command-line Mode),不同模式下的命令执行方式和功能各异,以下将从基础到进阶,详细解析如何在 Vim 中执行各类命令。

基础命令执行模式
Vim 的默认模式是普通模式,此时可以通过键盘输入单字符命令执行操作,在普通模式下按 dd 可删除当前行,按 i 进入插入模式后输入文本,按 进入命令行模式执行高级命令,理解模式切换是命令执行的前提:普通模式通过 Esc 键返回,插入模式通过 i、a、o 等键进入,可视模式通过 v、V、Ctrl+v 进入,命令行模式通过 、、 等键进入。
命令行模式下的命令执行
命令行模式是执行复杂命令的主要入口,通过按 触发,以下是常见命令及执行方式:
-
文件操作命令
- 保存文件:
w - 退出并保存:
wq或x - 强制退出(不保存):
q! - 另存为:
w filename.txt
- 保存文件:
-
文本搜索与替换
(图片来源网络,侵删)- 向下搜索:
/keyword(按Enter执行,n跳到下一个结果) - 向上搜索:
?keyword - 全局替换:
%s/old/new/g(将所有old替换为new) - 确认替换:
%s/old/new/gc(每次替换前提示确认)
- 向下搜索:
-
行号与显示控制
- 显示行号:
set nu或set number - 隐藏行号:
set nonu - 跳转到指定行:
n(如10跳转到第 10 行)
- 显示行号:
-
分屏与窗口管理
- 水平分屏:
split或sp - 垂直分屏:
vsplit或vs - 切换窗口:
Ctrl+w加方向键 - 关闭当前窗口:
close
- 水平分屏:
执行命令行命令时,需先输入命令,按 Enter 确认执行,部分命令支持参数和范围修饰符,1,10s/^/#/g 表示对第 1 至 10 行行首添加 注释。
普通模式下的快捷命令
普通模式下的命令通常由操作符和动作字符组成,d(删除)、c(修改)、y(复制)等,搭配动作字符如 w(单词)、(行尾)、gg(文件首)等形成组合命令。

dw:删除一个单词d$:删除到行尾yy:复制当前行p:粘贴到光标后
可视模式下的命令执行
可视模式用于选择文本块后执行操作,进入可视模式后:
v:字符级选择V:行级选择Ctrl+v:块级选择(矩形选择)
选择文本后,可执行普通模式的命令,如 d 删除、y 复制、c 修改等,在块级选择模式下按 I 插入文本,输入后按 Esc 可在所有选中行插入相同内容。
执行外部命令
在 Vim 中可通过 执行外部系统命令,
!ls:列出当前目录文件(执行后按Enter返回 Vim)!python %:执行当前 Python 脚本r !date:将系统日期插入到光标位置
自动化命令与宏录制
Vim 支持通过录制宏(Macro)重复执行一系列操作:
- 按
q加寄存器字母(如qa)开始录制 - 执行一系列命令(如
dw、i new、Esc) - 按
q停止录制 - 通过
@a执行宏, 重复执行上次宏
命令执行中的常见问题
- 命令未生效:检查是否处于正确模式,确保普通模式下输入命令。
- 误操作恢复:普通模式下按
u撤销,Ctrl+r重做。
相关问答FAQs
Q1: 如何在 Vim 中批量替换多个文件中的特定内容?
A1: 可使用 argdo 命令结合全局替换,首先通过 args *.txt 设置目标文件列表,然后执行 argdo %s/old/new/g | update,| update 保存每个文件的修改。
Q2: Vim 中如何执行上一条命令行命令?
A2: 在命令行模式下,按 后按 (上箭头)或 Ctrl+p 可快速调出上一条命令,按 Enter 执行。
