跳到主要内容

Vim 命令速查表

Vim 是高效文本编辑的代名词。本速查表覆盖了日常开发中最常用的 Vim 命令,从基本操作到宏录制,每个命令都有实际使用示例。无论你是 Vim 新手还是想进一步提升效率的老手,这份速查表都能帮到你。建议先掌握基本操作和光标移动,再逐步学习搜索替换和窗口管理。

更新: 2026-07-16·42 条命令

使用场景速查

你要做什么用哪个快捷键
开始编辑文本i(光标前插入)
保存文件:w
保存退出:wqZZ
复制一行yy
删除一行dd
粘贴p(后) / P(前)
撤销u
搜索文本/模式
全文替换:%s/旧/新/g
分屏:vs(垂直)/ :sp(水平)

基本操作

``bash # 模式切换 i # 在光标前插入(进入插入模式) a # 在光标后插入 o # 在当前行下方新建行并插入 I # 在行首插入 A # 在行尾插入 O # 在当前行上方新建行并插入 Esc / Ctrl+[ # 返回普通模式

# 文件操作 :e file.txt # 打开文件 :w # 保存文件 :q # 退出 :wq / ZZ # 保存并退出 :q! # 强制退出(不保存) :e! # 重新加载文件(放弃修改) :help topic # 查看帮助(如 :help i_Ctrl-p) `

光标移动

`bash # 基础移动 h # 左移 j # 下移 k # 上移 l # 右移 5j # 向下移动 5 行(数字 + 移动键)

# 词级移动 w # 前进一个词(词首) b # 后退一个词(词首) e # 前进到词尾 ge # 后退到词尾 3w # 前进 3 个词

# 行级移动 0 # 跳到行首(第 1 列) ^ # 跳到行首第一个非空字符 $ # 跳到行尾 g_ # 跳到行尾最后一个非空字符

# 文件级移动 gg # 跳到文件开头 G # 跳到文件末尾 42G / :42 # 跳到第 42 行 Ctrl+d # 向下翻半页 Ctrl+u # 向上翻半页 Ctrl+f # 向下翻一页 Ctrl+b # 向上翻一页

# 段落/代码块 % # 跳到匹配的括号(() [] {}) ( / ) # 跳到上一个/下一个句子 { / } # 跳到上一个/下一个段落

# 屏幕定位 zz # 将当前行移到屏幕中间 zt # 将当前行移到屏幕顶部 zb # 将当前行移到屏幕底部 `

编辑操作

`bash # 删除 x # 删除光标处字符 X # 删除光标前字符 3x # 删除 3 个字符 dd # 删除当前行 5dd # 删除 5 行 D # 删除光标到行尾 dw # 删除光标到词尾 diw # 删除光标所在词(inner word) daw # 删除光标所在词(含空格) di( # 删除括号内内容 da" # 删除引号及其中内容

# 复制(Yank) yy # 复制当前行 5yy # 复制 5 行 yiw # 复制光标所在词 y$ # 复制光标到行尾

# 粘贴 p # 粘贴到光标后 P # 粘贴到光标前

# 修改 r # 替换光标处字符 R # 进入替换模式(连续替换) ciw # 修改光标所在词(删除并进入插入模式) ci( # 修改括号内内容 c$ # 修改光标到行尾 cc # 修改整行

# 撤销与重复 u # 撤销 Ctrl+r # 重做 . # 重复上次修改操作 `

可视化模式

`bash # 进入可视化模式 v # 字符可视化(选择任意范围的字符) V # 行可视化(选择整行) Ctrl+v # 块可视化(矩形块选择,用于列编辑)

# 可视化操作(选中后按) d # 删除选中内容 y # 复制选中内容 > # 向右缩进选中行 < # 向左缩进选中行 ~ # 切换选中文本的大小写 u # 选中文本转小写 U # 选中文本转大写 : # 对选中行执行命令

# 列编辑技巧 Ctrl+v # 进入块选 jjj # 向下选中多行 I # 在列首插入 text # 输入要插入的文本 Esc # 应用修改到所有选中行 `

搜索替换

`bash # 搜索 /pattern # 向下搜索 ?pattern # 向上搜索 n # 跳到下一个匹配 N # 跳到上一个匹配 * # 向下搜索光标下的词 # # 向上搜索光标下的词

# 高亮控制 :nohlsearch # 取消搜索高亮(或 :noh) set hlsearch # 开启搜索高亮 set nohlsearch # 关闭搜索高亮

# 替换 :s/old/new/ # 替换当前行第一个匹配 :s/old/new/g # 替换当前行所有匹配 :%s/old/new/g # 全文替换 :%s/old/new/gc # 全文替换(逐个确认) :5,20s/old/new/g # 替换 5-20 行 :%s/old/new/gn # 统计匹配数量(不实际替换) `

窗口与标签

`bash # 窗口管理 :sp [file] # 水平分割 :vs [file] # 垂直分割 Ctrl+w h # 切换到左边窗口 Ctrl+w j # 切换到下边窗口 Ctrl+w k # 切换到上边窗口 Ctrl+w l # 切换到右边窗口 Ctrl+w w # 循环切换窗口 Ctrl+w = # 等分窗口大小 Ctrl+w _ # 最大化窗口高度 Ctrl+w | # 最大化窗口宽度 Ctrl+w + # 增加窗口高度 Ctrl+w - # 减少窗口高度 :q # 关闭当前窗口 :only # 关闭除当前外的所有窗口

# 标签页 :tabnew [file] # 在新标签中打开 gt # 下一个标签 gT # 上一个标签 Ngt # 跳到第 N 个标签 :tabclose # 关闭当前标签 :tabonly # 关闭其他标签 :tabmove +1 # 标签右移 `

进阶技巧

`bash # 宏录制 qa # 开始录制宏 a(存储到寄存器 a) ... # 执行你的操作 q # 停止录制 @a # 播放宏 a @@ # 重复上次宏 5@a # 播放宏 a 5 次

# 寄存器 "ayy # 复制当前行到寄存器 a "ap # 粘贴寄存器 a 的内容 :reg # 查看所有寄存器内容 "+y # 复制到系统剪贴板 "+p # 从系统剪贴板粘贴

# 标记 ma # 在当前位置设置标记 a a # 跳转到标记 a 的位置 'a # 跳转到标记 a 的行首 :marks # 列出所有标记

# 自动补全(插入模式下) Ctrl+p # 向前补全(基于当前文件) Ctrl+n # 向后补全 Ctrl+x Ctrl+l # 补全整行 Ctrl+x Ctrl+f # 补全文件名 Ctrl+x Ctrl+] # 补全标签

# Vim 中执行 Shell 命令 :!ls # 执行 ls 命令(回车返回) :!python % # 运行当前 Python 文件 :read !date # 将命令输出插入到当前光标位置 :r !curl -s URL # 将 curl 结果插入文件 ``

Vim 配置示例

`vim " ~/.vimrc 常见配置

" 界面 set number " 显示行号 set relativenumber " 显示相对行号(与 number 配合更佳) set cursorline " 高亮当前行 set showmode " 显示当前模式 set showcmd " 显示已输入的命令

" 缩进 set tabstop=4 " Tab 宽度 4 set shiftwidth=4 " 缩进宽度 4 set expandtab " 用空格代替 Tab set autoindent " 自动缩进 set smartindent " 智能缩进

" 搜索 set hlsearch " 高亮搜索结果 set incsearch " 输入时即时搜索 set ignorecase " 搜索忽略大小写 set smartcase " 如果搜索包含大写则区分大小写

" 编辑 set backspace=indent,eol,start " 允许退格删除 set clipboard=unnamedplus " 使用系统剪贴板 syntax on " 启用语法高亮

" 文件类型 filetype plugin indent on " 根据文件类型加载插件和缩进规则 `

Vim 学习路线

` 新手必学 → 基本操作 + 光标移动(hjkl + 数字组合) 常用操作 → 删除/复制/粘贴 + 搜索替换 + 撤销重做 效率提升 → 文本对象(diw/ci(/da")+ 可视化块模式 高手进阶 → 宏录制 + 寄存器 + 多文件编辑 + 配置优化 ``

基础操作(9)

命令难度
i / a / o
进入插入模式(光标前/后/新行)
基础
Esc / Ctrl+[
返回普通模式
基础
:w
保存文件
基础
:q
退出 Vim
基础
:wq / ZZ
保存并退出
基础
:q!
强制退出(不保存)
基础
:e <file>
打开指定文件
基础
:help <topic>
打开 Vim 内置帮助
中级
vimtutor
启动 Vim 交互式教程(新手入门最佳方式)
基础

editing(7)

命令难度
x / X
删除光标处字符 / 删除光标前字符
基础
dd / yy / p / P
删除行 / 复制行 / 粘贴后 / 粘贴前
基础
diw / ciw / yiw
删除/修改/复制当前词
中级
da" / ci( / ya{
删除/修改/复制引号/括号内的内容(含定界符)
中级
r<char>
替换光标处字符
基础
. (dot)
重复上次修改操作
中级
u / Ctrl+r
撤销 / 重做
基础

可视化模式(3)

命令难度
v / V / Ctrl+v
字符可视化 / 行可视化 / 块可视化
中级
> / <
缩进 / 取消缩进选中行
基础
~ / u / U
切换大小写 / 小写 / 大写
基础

窗口管理(5)

命令难度
:sp <file> / :vs <file>
水平分割 / 垂直分割打开文件
中级
Ctrl+w h/j/k/l
切换到左/下/上/右窗口
中级
Ctrl+w = / _ / |
窗口等宽/最大化高度/最大化宽度
中级
:tabnew / gt / gT
新建标签 / 下一个标签 / 上一个标签
中级
:tabm <n>
移动标签页到指定位置
中级

高级操作(6)

命令难度
q<letter> ... q
录制宏 / 停止录制
高级
@<letter> / @@
播放宏 / 重复上次宏
高级
"<reg>p / "<reg>y
使用指定寄存器粘贴/复制
高级
m<letter> / '<letter>
设置标记 / 跳转到标记
中级
:!<command>
在 Vim 中执行 Shell 命令
中级
Ctrl+p / Ctrl+n
插入模式下的自动补全(上一个/下一个)
中级

常见问题

本速查表数据整理自各工具官方文档。最后更新: 2026-07-16。