Vim速通
Vim 七日精通教程:从入门到脱离鼠标
面向人群:需要频繁修改服务器配置、编写技术文档/代码的开发者
核心原则:肌肉记忆优先,原生功能优先,实战场景驱动,7天形成本能操作
目标:摆脱鼠标,纯键盘完成配置修改、文档撰写、代码浏览,效率远超普通编辑器
一、学习前的核心认知
1.1 为什么要学 Vim
全键盘操作:手不离开主键盘区,无需频繁切换鼠标,长期使用效率提升显著
服务器原生支持:几乎所有 Linux 服务器默认自带 vi/vim,无需额外安装
极低资源消耗:启动快、占内存小,远程SSH操作流畅无延迟
高度可定制:通过配置文件和插件可扩展为强大的编辑环境
1.2 新手最大的坎:三种模式
Vim 和普通编辑器最本质的区别是模式切换,搞不懂模式就会觉得“Vim 反人类”。
| 模式 | 进入方式 | 功能说明 |
|---|---|---|
| 普通模式(命令模式) | 打开文件默认进入 / 任意模式按 Esc |
所有按键都是命令,用于移动、删除、复制、搜索,不能直接打字输入 |
| 插入模式 | 普通模式按 i / a / o 等 |
和普通编辑器一样,直接输入文字 |
| 底线命令模式 | 普通模式按 : |
底部输入命令,用于保存、退出、全局替换、设置选项 |
💡 新手救命技巧:不知道自己在什么模式、按错了键、界面卡住,狂按 Esc 一定回到普通模式。
1.3 正确的学习方法
不要一开始装插件:先把原生功能练熟,插件是锦上添花,不是雪中送炭
强迫不用方向键:从第一天起就用
h j k l移动,一周形成肌肉记忆命令是组合出来的:不用死记几百个命令,记住核心动作+范围即可自由组合
动作:
d删除、y复制、c修改范围:
w单词、$行尾、0行首、j下一行
二、第1天:生存级命令 —— 先保证能进能出
目标:打开文件、输入文字、保存退出,不会困在 Vim 里。
2.1 打开与退出
1 | # 打开文件 |
底线命令模式(先按 :):
| 命令 | 作用 | 备注 |
|---|---|---|
:w |
保存 | 不退出 |
:q |
退出 | 文件未修改才能退出 |
:wq |
保存并退出 | 等价 ZZ(普通模式下按两次大写Z) |
:q! |
强制退出不保存 | 改错了直接撤销所有修改,最常用救命键 |
:wq! |
强制保存退出 | 文件只读但你有权限时使用 |
2.2 进入插入模式
最常用的三个进入方式,按需选择:
| 命令 | 插入位置 | 适用场景 |
|---|---|---|
i |
光标前插入 | 最常用,正常修改 |
a |
光标后插入 | 光标在字中间,往后加字 |
o |
光标下一行新建空行并插入 | 写代码、写文档换行追加 |
O |
光标上一行新建空行并插入 | 往前补内容 |
第一天练习任务
新建一个 test.md 文件,输入3行文字
保存退出,再重新打开
修改第一行,然后不保存强制退出,验证修改是否丢失
全程强迫自己不用方向键,用 Esc 切回普通模式
三、第2天:光标移动 —— 彻底摆脱鼠标
目标:手不离开键盘主位,精准移动到任意位置。
全部在普通模式下操作。
3.1 基础移动(替代方向键)
1 | h ← 左 j ↓ 下 k ↑ 上 l → 右 |
一开始会很慢,坚持1天就会比方向键快。可以在 vimrc 里禁用方向键强迫自己练习。
3.2 单词级移动(写代码/文档效率翻倍)
| 命令 | 作用 |
|---|---|
w |
跳到下一个单词开头 |
b |
跳到上一个单词开头(back) |
e |
跳到当前单词结尾 |
W / B / E |
以空格为分隔的大单词移动,忽略标点 |
3.3 行内快速移动
| 命令 | 作用 |
|---|---|
0 |
跳到行首(绝对第一个字符) |
^ |
跳到行首第一个非空字符 |
$ |
跳到行尾 |
f+字符 |
跳到当前行下一个指定字符 |
F+字符 |
跳到当前行上一个指定字符 |
3.4 页面与文件级移动
| 命令 | 作用 |
|---|---|
Ctrl + f |
向下翻一页(forward) |
Ctrl + b |
向上翻一页(back) |
Ctrl + d |
向下翻半页(down) |
Ctrl + u |
向上翻半页(up) |
gg |
跳到文件开头 |
G |
跳到文件结尾 |
:行号 |
跳到指定行,例如 :25 跳第25行 |
改配置神器:报错说第几行出错,直接
:数字一秒跳过去,不用翻半天。
第二天练习任务
打开一篇长文档,只用 hjkl 移动光标遍历全文
用
w/b逐单词移动练习用
f跳转到行内指定字符用
:10、gg、G快速跳转
四、第3天:基础编辑 —— 普通模式下的高效操作
目标:不用进入插入模式,就能完成删除、复制、粘贴、撤销。
4.1 删除命令(删除=剪切)
Vim 里删除的内容会进入剪贴板,可以粘贴。
| 命令 | 作用 |
|---|---|
x |
删除光标所在单个字符 |
dd |
删除整行(最常用) |
dw |
删除光标开始到下一个单词开头 |
d$ / D |
删除光标到行尾 |
d0 |
删除光标到行首 |
ndd |
删除向下n行,例如 3dd 删除3行 |
4.2 复制与粘贴
| 命令 | 作用 |
|---|---|
yy |
复制整行 |
yw |
复制一个单词 |
y$ |
复制光标到行尾 |
p |
粘贴到光标下一行/后面 |
P |
粘贴到光标上一行/前面 |
4.3 撤销与重做
| 命令 | 作用 |
|---|---|
u |
撤销上一步(等价 Ctrl+Z) |
Ctrl + r |
重做(等价 Ctrl+Y) |
组合逻辑举例
理解了组合逻辑,不用死记就能衍生出几十种操作:
d2w= 删除2个单词y3j= 复制当前行及下面3行c$= 删除光标到行尾并进入插入模式(修改到行尾)
第三天练习任务
用
dd/p快速移动行的位置用
dw删除单词,用x删除字符练习撤销和重做,熟悉操作回滚
五、第4天:搜索与批量替换 —— 改配置效率神器
目标:快速定位关键字,批量修改内容。
5.1 搜索
普通模式下按 /,输入关键词,回车开始搜索。
| 命令 | 作用 |
|---|---|
n |
跳到下一个匹配项 |
N |
跳到上一个匹配项 |
?关键词 |
向上搜索 |
:noh |
取消搜索高亮 |
实战:改 Nginx 配置,
/server_name直接定位到域名配置行,按n挨个找。
5.2 替换(底线命令模式)
基础语法
1 | :[范围]s/旧内容/新内容/[标志] |
常用替换命令
| 命令 | 作用 |
|---|---|
:s/old/new |
替换当前行第一个匹配 |
:s/old/new/g |
替换当前行所有匹配 |
:%s/old/new/g |
全局替换整个文件(最常用) |
:%s/old/new/gc |
全局替换,每次替换前确认 |
:10,20s/old/new/g |
替换第10到20行 |
实战:批量把配置里的
8080改成80,一条命令搞定。
第四天练习任务
在文档里搜索一个关键词,用 n/N 跳转
用全局替换批量修改文档中的某个词
尝试带确认的替换,熟悉 c 参数
六、第5天:视觉模式 —— 批量操作的核心
目标:选中内容批量处理,批量注释、缩进、删除。
5.1 三种视觉模式
| 命令 | 模式 | 适用场景 |
|---|---|---|
v |
字符视觉模式 | 选中部分字符 |
V |
行视觉模式 | 按行选中,批量删行、注释、缩进(最常用) |
Ctrl + v |
块视觉模式 | 竖列选中,批量加注释、批量插入字符(神技) |
5.2 选中后常用操作
| 命令 | 作用 |
|---|---|
d |
删除选中内容 |
y |
复制选中内容 |
> |
向右缩进 |
< |
向左缩进 |
= |
自动对齐缩进 |
5.3 实战:批量注释多行
以给配置文件加 # 注释为例:
光标移到第一行行首
按
Ctrl + v进入块视觉模式按
j向下选中要注释的所有行按大写
I进入插入模式输入
#按
Esc,所有选中行自动加上注释
取消注释:同样块选中注释符,按 d 删除。
第五天练习任务
用行视觉模式选中多行,删除、复制、缩进
用块视觉模式批量给多行加注释、取消注释
选中代码块按
=自动对齐
七、第6天:基础配置优化 —— 原生也能很好用
目标:通过 .vimrc 配置,提升编辑体验,不用插件。
创建配置文件:
1 | vim ~/.vimrc |
写入以下基础配置:
1 | " ========== 基础显示 ========== |
保存退出,重新打开 Vim 即生效。
第六天练习任务
编写自己的
.vimrc配置文件验证行号、语法高亮、F2保存是否生效
打开一个 md 文件,验证自动换行、列表自动续行
八、第7天:实战场景演练
场景1:修改服务器配置文件(如 sshd_config)
1 | sudo vim /etc/ssh/sshd_config |
/Port搜索端口配置i进入插入模式修改端口号Esc退回普通模式:wq保存退出
权限不够保存失败?输入
:w !sudo tee %回车,输入密码即可强制保存。
场景2:编写 Markdown 文档
标题快速调整
升一级:行首按
I# <Esc>降一级:光标移到
#上按x批量升一级:选中多行 →
:normal I#回车
列表操作
新建列表项:
o-批量转列表:选中多行 →
:s/^/- /
代码块快速插入
普通模式输入:
1 | o```bash<CR>```<Esc>kO |
一键生成带语言标识的代码块,光标停在中间。
加粗、斜体
选中文字 → c**<Esc>p** → 快速加粗
长文档折叠
| 命令 | 作用 |
|---|---|
zfap |
折叠当前段落/章节 |
zo |
打开当前折叠 |
zM |
折叠全部章节 |
zR |
打开全部折叠 |
第七天练习任务
用 Vim 修改一个系统配置文件,全程不用鼠标
用 Vim 写一篇完整的 Markdown 笔记,包含标题、列表、代码块
用折叠功能管理长文档结构
九、常见坑与避坑指南
按 i 打不出字? 检查是不是中文输入法,插入模式只识别英文输入法输入的字符
按了 Ctrl+s 界面卡死? 按
Ctrl+q恢复,这是终端流控制快捷键保存提示 E212 无法写入? 要么权限不够加 sudo,要么文件只读
不知道按了什么,输入变成奇怪字符? 狂按 Esc 回普通模式,按
u撤销不要装太多插件:新手最容易陷入配置陷阱,半天没写成东西,光折腾插件了
十、进阶方向
基础打牢之后,可以按需拓展:
文件管理:NERDTree / netrw 目录浏览
代码补全:YouCompleteMe / coc.nvim
全文搜索:fzf 模糊搜索文件
多窗口:分屏编辑、标签页
文本对象:
ci"修改引号内内容,di(删除括号内内容
附录:七日学习计划表
| 天数 | 核心内容 | 练习目标 |
|---|---|---|
| 第1天 | 三种模式、保存退出 | 能独立打开、编辑、保存、退出文件 |
| 第2天 | hjkl移动、单词跳转、行跳转 | 全程不用方向键移动光标 |
| 第3天 | 删除、复制、粘贴、撤销 | 普通模式下完成常用编辑操作 |
| 第4天 | 搜索、全局替换 | 快速定位、批量修改内容 |
| 第5天 | 视觉模式、批量操作 | 批量注释、缩进、删除 |
| 第6天 | vimrc 基础配置 | 打造适合自己的编辑环境 |
| 第7天 | 实战场景演练 | 改配置、写文档全程脱离鼠标 |
每天只需10-15分钟,坚持一周,形成肌肉记忆后编辑效率会有质的提升。

