指南与教程 - 背景图片 | Rainy Design Studio

Vim 操作指南

RainyJun 01, 2026

本文章的版权归属 RainyDesign.cn ,且最终解释权归站长所有。

具体信息详见条例与条款

该文档由 Claude 3.x 搭配 Deepseek Reasoner 生成,用于教程讲解补充,内容仅供参考。如有任何疑问,请 留言。
搜索文章内容请按下键盘上的Ctrl(Mac为Command) + F查找,
收藏文章请按下键盘上的Ctrl / Command + D加入书签栏。

📝 Vim 操作指南

1. 🚀 基础模式切换

快捷键功能说明
i进入插入模式在光标前插入
I行首插入移到行首并进入插入模式
a光标后插入在光标后插入
A行尾插入移到行尾并进入插入模式
o下方新行在当前行下方新建行并插入
O上方新行在当前行上方新建行并插入
s替换字符删除当前字符并进入插入模式
S替换整行删除整行并进入插入模式
v可视模式字符选择模式
V行可视模式行选择模式
Ctrl+v块可视模式块选择模式
R替换模式连续替换字符
Esc返回普通模式从任何模式返回
:命令行模式进入命令行

2. 🧭 光标移动

基础移动

快捷键功能说明
h左移向左移动一个字符
j下移向下移动一行
k上移向上移动一行
l右移向右移动一个字符
0行首移到行的开始
^行首非空移到行首第一个非空字符
$行尾移到行的结束
g_行尾非空移到行尾最后一个非空字符

单词移动

快捷键功能说明
w下个单词首移到下一个单词开头
W下个大单词首移到下一个大单词开头(空格分隔)
e单词尾移到当前单词结尾
E大单词尾移到当前大单词结尾
b上个单词首移到上一个单词开头
B上个大单词首移到上一个大单词开头
ge上个单词尾移到上一个单词结尾

页面移动

快捷键功能说明
gg文件开头移到文件第一行
G文件结尾移到文件最后一行
nG第n行移到第n行(如 10G
:n第n行移到第n行(如 :10
H屏幕顶部移到屏幕顶部
M屏幕中间移到屏幕中间
L屏幕底部移到屏幕底部
Ctrl+f向下翻页向下滚动一屏
Ctrl+b向上翻页向上滚动一屏
Ctrl+d向下半页向下滚动半屏
Ctrl+u向上半页向上滚动半屏
Ctrl+e向下滚行向下滚动一行
Ctrl+y向上滚行向上滚动一行

精确定位

快捷键功能说明
f{char}向右查找字符移到行内下一个指定字符
F{char}向左查找字符移到行内上一个指定字符
t{char}向右查找前移到行内下一个指定字符前
T{char}向左查找前移到行内上一个指定字符前
;重复查找重复上次 f/F/t/T 操作
,反向重复反向重复上次 f/F/t/T 操作
%匹配括号在匹配的括号间跳转

3. ✂️ 删除操作

快捷键功能说明
x删除字符删除光标下的字符
X向前删除删除光标前的字符
dw删除单词删除到下个单词开头
dW删除大单词删除到下个大单词开头
de删除到词尾删除到当前单词结尾
db删除到词首删除到上个单词开头
dd删除整行删除当前行
ndd删除n行删除n行(如 3dd
d$删除到行尾删除到行结束
D删除到行尾d$
d0删除到行首删除到行开始
d^删除到行首非空删除到行首第一个非空字符
dG删除到文件尾删除到文件结束
dgg删除到文件首删除到文件开始
d/pattern删除到匹配删除到匹配的模式

4. 📋 复制粘贴

快捷键功能说明
yy复制整行复制当前行
nyy复制n行复制n行(如 3yy
yw复制单词复制到下个单词开头
ye复制到词尾复制到当前单词结尾
y$复制到行尾复制到行结束
Y复制到行尾y$
y0复制到行首复制到行开始
yG复制到文件尾复制到文件结束
ygg复制到文件首复制到文件开始
p向后粘贴在光标后粘贴
P向前粘贴在光标前粘贴
gp粘贴并定位粘贴后光标移到末尾
gP向前粘贴定位向前粘贴后光标移到末尾

5. 🔄 撤销重做

快捷键功能说明
u撤销撤销上一次操作
U撤销整行撤销对整行的所有修改
Ctrl+r重做重做被撤销的操作
.重复操作重复上一次操作
n.重复n次重复上一次操作n次

6. 🔍 搜索替换

搜索

快捷键功能说明
/pattern向下搜索向下搜索模式
?pattern向上搜索向上搜索模式
n下一个匹配重复搜索(同方向)
N上一个匹配重复搜索(反方向)
*搜索当前单词向下搜索光标下的单词
#反向搜索单词向上搜索光标下的单词
g*部分匹配搜索向下搜索包含当前单词的内容
g#部分匹配反搜向上搜索包含当前单词的内容

替换

命令功能说明
:s/old/new替换当前行第一个替换当前行第一个匹配
:s/old/new/g替换当前行所有替换当前行所有匹配
:%s/old/new/g替换全文所有替换全文所有匹配
:%s/old/new/gc交互式替换每次替换前确认
:n,ms/old/new/g范围替换替换第n到m行
:'<,'>s/old/new/g选中区域替换替换选中的区域

7. 📐 可视模式操作

选择

快捷键功能说明
v字符选择进入字符可视模式
V行选择进入行可视模式
Ctrl+v块选择进入块可视模式
gv重新选择重新选择上次选中的区域
o切换端点在选择区域的两端切换
aw选择单词选择一个单词
as选择句子选择一个句子
ap选择段落选择一个段落
ab选择括号内选择 () 内的内容
aB选择大括号内选择 {} 内的内容
at选择标签内选择 HTML 标签内容

可视模式操作

快捷键功能说明
d删除选中删除选中的内容
y复制选中复制选中的内容
c修改选中删除选中内容并进入插入模式
r替换选中用单个字符替换选中内容
u转小写将选中内容转为小写
U转大写将选中内容转为大写
~切换大小写切换选中内容的大小写
>右缩进增加缩进
<左缩进减少缩进
=自动缩进自动调整缩进

8. 📁 文件操作

文件管理

命令功能说明
:w保存保存当前文件
:w filename另存为保存为指定文件名
:wa保存所有保存所有打开的文件
:q退出退出当前文件
:q!强制退出不保存强制退出
:wq保存退出保存并退出
:x保存退出:wq
ZZ保存退出:wq
ZQ不保存退出:q!
:qa退出所有退出所有文件
:qa!强制退出所有不保存退出所有文件

文件操作

命令功能说明
:e filename打开文件编辑指定文件
:e!重新加载重新加载当前文件
:r filename读入文件在光标处插入文件内容
:r !command读入命令输出插入命令执行结果
:w !command写入命令将内容传给命令
:cd path改变目录改变工作目录
:pwd显示目录显示当前工作目录
:ls列出缓冲区显示打开的文件

9. 🪟 窗口分割

分割操作

命令功能说明
:sp水平分割水平分割当前窗口
:vsp垂直分割垂直分割当前窗口
:sp filename分割打开文件水平分割并打开文件
:vsp filename垂直分割打开垂直分割并打开文件
Ctrl+w s水平分割:sp
Ctrl+w v垂直分割:vsp
Ctrl+w n新建窗口创建新的空窗口

窗口切换

快捷键功能说明
Ctrl+w h左窗口切换到左边窗口
Ctrl+w j下窗口切换到下面窗口
Ctrl+w k上窗口切换到上面窗口
Ctrl+w l右窗口切换到右边窗口
Ctrl+w w下一窗口切换到下一个窗口
Ctrl+w W上一窗口切换到上一个窗口
Ctrl+w t顶部窗口切换到顶部窗口
Ctrl+w b底部窗口切换到底部窗口

窗口调整

快捷键功能说明
Ctrl+w +增加高度增加当前窗口高度
Ctrl+w -减少高度减少当前窗口高度
Ctrl+w >增加宽度增加当前窗口宽度
Ctrl+w <减少宽度减少当前窗口宽度
Ctrl+w =平均分配使所有窗口大小相等
Ctrl+w _最大化高度最大化当前窗口高度
`Ctrl+w`最大化宽度

窗口关闭

快捷键功能说明
Ctrl+w c关闭窗口关闭当前窗口
Ctrl+w q退出窗口退出当前窗口
Ctrl+w o只保留当前关闭其他所有窗口

10. 📑 标签页操作

命令功能说明
:tabnew新建标签创建新标签页
:tabnew filename打开文件到新标签在新标签中打开文件
:tabclose关闭标签关闭当前标签页
:tabonly只保留当前标签关闭其他所有标签页
gt下一标签切换到下一个标签页
gT上一标签切换到上一个标签页
ngt第n个标签切换到第n个标签页
:tabs列出标签显示所有标签页

11. 🔖 标记和跳转

标记操作

快捷键功能说明
ma设置标记a在当前位置设置标记a
mA设置全局标记A设置全局标记A(跨文件)
'a跳转到标记a行跳转到标记a所在行
`a跳转到标记a精确跳转到标记a位置
''跳转到上次位置行跳转到上次跳转的行
````跳转到上次位置精确跳转到上次位置
:marks显示标记显示所有标记
:delmarks a删除标记a删除指定标记

跳转列表

快捷键功能说明
Ctrl+o跳转到旧位置在跳转列表中后退
Ctrl+i跳转到新位置在跳转列表中前进
:jumps显示跳转列表显示跳转历史

12. 🔧 高级编辑

缩进操作

快捷键功能说明
>>右缩进当前行右缩进
<<左缩进当前行左缩进
n>>n行右缩进n行右缩进
n<<n行左缩进n行左缩进
=自动缩进自动调整缩进
gg=G全文自动缩进整个文件自动缩进

大小写转换

快捷键功能说明
~切换大小写切换光标下字符大小写
guu整行转小写当前行转小写
gUU整行转大写当前行转大写
guw单词转小写当前单词转小写
gUw单词转大写当前单词转大写

排序和去重

命令功能说明
:sort排序对选中行排序
:sort!反向排序反向排序
:sort u排序去重排序并去除重复行
:sort n数字排序按数字大小排序

13. 🎯 文本对象

内部对象(i){#inner-objects}

快捷键功能说明
iw内部单词当前单词(不含空格)
iW内部大单词当前大单词(不含空格)
is内部句子当前句子
ip内部段落当前段落
i(ib内部小括号() 内的内容
i{iB内部大括号{} 内的内容
i[内部方括号[] 内的内容
i<内部尖括号<> 内的内容
i"内部双引号"" 内的内容
i'内部单引号'' 内的内容
`i``内部反引号`` 内的内容
it内部标签HTML 标签内的内容

周围对象(a){#around-objects}

快捷键功能说明
aw周围单词当前单词(含空格)
aW周围大单词当前大单词(含空格)
as周围句子当前句子(含标点)
ap周围段落当前段落(含空行)
a(ab周围小括号() 及其内容
a{aB周围大括号{} 及其内容
a[周围方括号[] 及其内容
a<周围尖括号<> 及其内容
a"周围双引号"" 及其内容
a'周围单引号'' 及其内容
`a``周围反引号`` 及其内容
at周围标签HTML 标签及其内容

14. 🔍 命令行模式

基础命令

命令功能说明
:help帮助显示帮助文档
:help keyword特定帮助显示关键词帮助
:version版本信息显示 Vim 版本
:set显示设置显示所有设置选项
:set option设置选项设置特定选项
:set option?查询选项查询选项当前值
:set option!切换选项切换布尔选项

常用设置

命令功能说明
:set number显示行号显示行号
:set nonumber隐藏行号隐藏行号
:set relativenumber相对行号显示相对行号
:set hlsearch高亮搜索高亮搜索结果
:set nohlsearch取消高亮取消搜索高亮
:set ignorecase忽略大小写搜索忽略大小写
:set smartcase智能大小写智能大小写匹配
:set autoindent自动缩进启用自动缩进
:set expandtab空格替换Tab用空格替换Tab
:set tabstop=4Tab宽度设置Tab为4个空格
:set shiftwidth=4缩进宽度设置缩进为4个空格

15. 🔄 宏录制

快捷键功能说明
qa录制宏a开始录制宏到寄存器a
q停止录制停止宏录制
@a执行宏a执行寄存器a中的宏
@@重复执行宏重复执行上次的宏
n@a执行宏n次执行宏a共n次
:reg显示寄存器显示所有寄存器内容

16. 📊 寄存器操作

寄存器类型

寄存器功能说明
"a-z命名寄存器用户自定义寄存器
"A-Z追加寄存器追加到对应小写寄存器
"0复制寄存器最近复制的内容
"1-9删除寄存器最近删除的内容(按时间)
""默认寄存器默认的复制粘贴寄存器
"+系统剪贴板系统剪贴板寄存器
"*选择缓冲区X11 选择缓冲区
".最后插入最后插入的文本
"%当前文件名当前文件名
"#备用文件名备用文件名

寄存器操作

快捷键功能说明
"ayy复制到寄存器a复制当前行到寄存器a
"ap从寄存器a粘贴粘贴寄存器a的内容
"Ayy追加到寄存器a追加当前行到寄存器a
"+yy复制到系统剪贴板复制到系统剪贴板
"+p从系统剪贴板粘贴从系统剪贴板粘贴
:reg查看所有寄存器显示所有寄存器内容
:reg a查看寄存器a显示寄存器a的内容

17. 🔗 折叠操作

快捷键功能说明
zf创建折叠创建折叠(需要选择文本)
zd删除折叠删除当前折叠
zD递归删除折叠删除当前位置所有折叠
zo打开折叠打开当前折叠
zO递归打开折叠递归打开当前位置折叠
zc关闭折叠关闭当前折叠
zC递归关闭折叠递归关闭当前位置折叠
za切换折叠切换当前折叠状态
zA递归切换折叠递归切换折叠状态
zv查看光标行打开足够的折叠显示光标行
zx更新折叠重新应用折叠设置
zX重新折叠重新应用所有折叠
zm增加折叠级别关闭更多折叠
zM关闭所有折叠关闭文件中所有折叠
zr减少折叠级别打开更多折叠
zR打开所有折叠打开文件中所有折叠
zn禁用折叠临时禁用折叠
zN启用折叠重新启用折叠
zi切换折叠启用切换折叠功能开关

18. 🎨 语法高亮和文件类型

命令功能说明
:syntax on启用语法高亮开启语法高亮
:syntax off关闭语法高亮关闭语法高亮
:set filetype=python设置文件类型设置为Python文件
:set ft=html设置文件类型(简写)设置为HTML文件
:filetype on启用文件类型检测自动检测文件类型
:filetype plugin on启用文件类型插件加载文件类型插件
:filetype indent on启用文件类型缩进启用智能缩进

19. 🔧 自动完成

快捷键功能说明
Ctrl+n下一个匹配向下选择自动完成
Ctrl+p上一个匹配向上选择自动完成
Ctrl+x Ctrl+l行完成完成整行
Ctrl+x Ctrl+f文件名完成完成文件名
Ctrl+x Ctrl+k字典完成字典单词完成
Ctrl+x Ctrl+t同义词完成同义词完成
Ctrl+x Ctrl+i包含文件完成从包含文件完成
Ctrl+x Ctrl+]标签完成标签文件完成
Ctrl+x Ctrl+vVim命令完成Vim命令行完成
Ctrl+x Ctrl+u用户自定义完成用户定义的完成
Ctrl+x Ctrl+o全能完成智能语法完成
Ctrl+x Ctrl+s拼写完成拼写检查完成

20. 🔍 拼写检查

命令/快捷键功能说明
:set spell启用拼写检查开启拼写检查
:set nospell关闭拼写检查关闭拼写检查
:set spelllang=en_us设置拼写语言设置为美式英语
]s下一个错误跳到下一个拼写错误
[s上一个错误跳到上一个拼写错误
z=拼写建议显示拼写建议
zg添加到词典将单词添加到个人词典
zw标记为错误将单词标记为拼写错误
zug撤销添加撤销添加到词典
zuw撤销标记撤销错误标记

21. 🎯 数字操作

快捷键功能说明
Ctrl+a数字加1增加光标下的数字
Ctrl+x数字减1减少光标下的数字
n Ctrl+a数字加n增加数字n
n Ctrl+x数字减n减少数字n
g Ctrl+a序列递增选中的数字序列递增
g Ctrl+x序列递减选中的数字序列递减

22. 🔄 多文件编辑

缓冲区操作

命令功能说明
:ls列出缓冲区显示所有打开的文件
:buffers列出缓冲区:ls
:b n切换到缓冲区n切换到第n个缓冲区
:b filename切换到文件切换到指定文件
:bn下一个缓冲区切换到下一个缓冲区
:bp上一个缓冲区切换到上一个缓冲区
:bf第一个缓冲区切换到第一个缓冲区
:bl最后缓冲区切换到最后一个缓冲区
:bd删除缓冲区关闭当前缓冲区
:bd n删除缓冲区n关闭第n个缓冲区
:bw彻底删除缓冲区彻底删除缓冲区

参数列表

命令功能说明
:args显示参数列表显示命令行参数列表
:args *.txt设置参数列表设置新的参数列表
:next下一个文件编辑下一个文件
:prev上一个文件编辑上一个文件
:first第一个文件编辑第一个文件
:last最后文件编辑最后一个文件

23. 🎪 高级技巧

命令组合

组合功能说明
ci"修改引号内容删除""内容并进入插入模式
da(删除括号及内容删除()及其内容
yi{复制大括号内容复制{}内的内容
va"选择引号及内容选择""及其内容
gUiw单词转大写当前单词转大写
g~~整行大小写切换切换整行大小写
=i{格式化大括号内格式化{}内的代码

快速编辑

快捷键功能说明
C修改到行尾删除到行尾并进入插入模式
cc修改整行删除整行并进入插入模式
cw修改单词删除单词并进入插入模式
r{char}替换字符用指定字符替换当前字符
R替换模式进入替换模式
J合并行将下一行合并到当前行
gJ合并行不加空格合并行但不添加空格

快速移动

快捷键功能说明
{上一个段落移动到上一个空行
}下一个段落移动到下一个空行
(上一个句子移动到上一个句子开头
)下一个句子移动到下一个句子开头
[[上一个章节移动到上一个章节
]]下一个章节移动到下一个章节
gd跳转到定义跳转到变量定义处
gD跳转到全局定义跳转到全局变量定义

24. 🔧 外部命令

命令功能说明
:!command执行外部命令执行系统命令
:r !command读入命令输出将命令输出插入到文件
:w !command传递给命令将文件内容传递给命令
:%!command过滤整个文件用命令处理整个文件
:'<,'>!command过滤选中内容用命令处理选中的内容
:sh打开Shell临时进入Shell
Ctrl+z挂起Vim挂起Vim到后台

25. 🎨 颜色和主题

命令功能说明
:colorscheme显示当前主题显示当前颜色主题
:colorscheme blue设置主题设置为blue主题
:highlight显示高亮组显示所有高亮组
:highlight Normal显示Normal组显示Normal高亮组设置

26. 📝 常用配置示例

基础 .vimrc 配置

" 基础设置 set number " 显示行号 set relativenumber " 显示相对行号 set hlsearch " 高亮搜索结果 set incsearch " 实时搜索 set ignorecase " 搜索忽略大小写 set smartcase " 智能大小写 set autoindent " 自动缩进 set smartindent " 智能缩进 set expandtab " 用空格替换Tab set tabstop=4 " Tab宽度为4 set shiftwidth=4 " 缩进宽度为4 set softtabstop=4 " 软Tab宽度为4 set wrap " 自动换行 set ruler " 显示光标位置 set showcmd " 显示命令 set wildmenu " 命令行补全菜单 set laststatus=2 " 总是显示状态栏 set backspace=2 " 退格键正常工作 set mouse=a " 启用鼠标支持 syntax on " 语法高亮 filetype plugin indent on " 文件类型检测 " 快捷键映射 nnoremap <C-h> <C-w>h " Ctrl+h 切换到左窗口 nnoremap <C-j> <C-w>j " Ctrl+j 切换到下窗口 nnoremap <C-k> <C-w>k " Ctrl+k 切换到上窗口 nnoremap <C-l> <C-w>l " Ctrl+l 切换到右窗口 " 快速保存和退出 nnoremap <leader>w :w<CR> nnoremap <leader>q :q<CR> nnoremap <leader>x :x<CR> " 清除搜索高亮 nnoremap <leader>/ :nohlsearch<CR>

27. 🎯 实用技巧总结

🔥 最常用的快捷键(新手必会){#essential-shortcuts}

  1. 模式切换: i, a, o, v, Esc
  2. 保存退出: :w, :q, :wq, ZZ
  3. 移动: h, j, k, l, w, b, 0, $
  4. 删除: x, dd, dw, d$
  5. 复制粘贴: yy, yw, p, P
  6. 撤销重做: u, Ctrl+r
  7. 搜索: /, n, N

🚀 效率提升技巧

  1. 使用数字前缀: 3dd (删除3行), 5w (移动5个单词)
  2. 组合操作: ci" (修改引号内容), da( (删除括号及内容)
  3. 使用点命令: . 重复上一次操作
  4. 使用宏录制: qa...q 录制, @a 执行
  5. 使用标记: ma 设置标记, 'a 跳转到标记

💡 高级技巧

  1. 多光标编辑: 使用块选择模式 Ctrl+v
  2. 快速替换: :%s/old/new/g
  3. 文件浏览: :e . 打开文件浏览器
  4. 分屏操作: :sp, :vsp, Ctrl+w 系列
  5. 外部命令: :!ls, :r !date

这份快捷键列表涵盖了 Vim 的绝大部分功能,从基础操作到高级技巧都有包含。建议按照使用频率逐步学习,先掌握基础操作,再逐步学习高级功能。记住,Vim 的强大在于这些命令可以自由组合,形成更复杂的操作!

订阅

解锁深度且前沿的前端技术、设计理念与用户交互探寻之道。