Vim 新手快速上手指南
从零开始学习 Vim,30 分钟掌握基本操作
🎯 为什么学习 Vim?
- 无处不在:几乎所有 Linux/Unix 系统都预装 Vim
- 高效编辑:熟练后编辑速度远超普通编辑器
- 无需鼠标:纯键盘操作,减少手部移动
- 可定制性强:通过配置和插件打造专属编辑器
- 轻量快速:启动快,占用资源少
📦 安装与启动
检查是否已安装
vim --version安装 Vim
macOS:
brew install vimUbuntu/Debian:
sudo apt-get update
sudo apt-get install vimCentOS/RHEL:
sudo yum install vim启动 Vim
vim # 启动 Vim
vim filename.txt # 打开文件
vim +10 filename.txt # 打开文件并跳转到第 10 行🚀 第一课:生存必备(5 分钟)
核心概念:Vim 有模式
Vim 不是普通的编辑器,它有模式概念:
- 普通模式(Normal Mode):默认模式,用于移动和命令
- 插入模式(Insert Mode):用于输入文本
- 命令模式(Command Mode):用于执行命令(如保存、退出)
最基础的 5 个命令
| 命令 | 说明 | 记忆技巧 |
|---|---|---|
i | 进入插入模式 | Insert(插入) |
Esc | 返回普通模式 | 按一次不够?多按几次! |
:w | 保存文件 | Write(写入) |
:q | 退出 | Quit(退出) |
:wq | 保存并退出 | Write + Quit |
紧急退出(卡住时用)
如果不知道在什么模式,按 Esc 多次,然后输入:
:q!
强制退出,不保存。
练习 1:创建第一个文件
vim hello.txt- 按
i进入插入模式 - 输入:
Hello, Vim! - 按
Esc返回普通模式 - 输入
:wq保存并退出
恭喜!你已经完成了第一次 Vim 编辑! 🎉
📚 第二课:光标移动(10 分钟)
为什么不用方向键?
Vim 使用 h、j、k、l 代替方向键,因为:
- 手不需要离开键盘主区域
- 可以组合其他命令
- 更符合 Vim 的设计哲学
基本移动
| 命令 | 说明 | 记忆 |
|---|---|---|
h | 左移 | 左手最左边 |
j | 下移 | 向下(j 像向下的箭头) |
k | 上移 | 向上 |
l | 右移 | 右手最右边 |
记忆口诀:hjkl = 左下上右
快速移动
| 命令 | 说明 |
|---|---|
w | 移动到下一个单词开头 |
b | 移动到上一个单词开头 |
0 | 移动到行首 |
$ | 移动到行尾 |
gg | 移动到文件开头 |
G | 移动到文件末尾 |
{n}G | 移动到第 n 行(如 50G 到第 50 行) |
练习 2:移动练习
vim practice.txt输入以下内容(每行一个单词):
apple banana cherry
dog elephant fox
grape honey ice
练习:
- 使用
hjkl移动光标 - 使用
w和b在单词间移动 - 使用
0和$移动到行首和行尾 - 使用
gg和G移动到文件开头和末尾
✏️ 第三课:文本编辑(10 分钟)
删除操作
| 命令 | 说明 |
|---|---|
x | 删除当前字符 |
dd | 删除当前行 |
dw | 删除一个单词 |
d$ | 删除到行尾 |
d0 | 删除到行首 |
技巧:d 是 delete,后面跟移动命令表示删除到那里
复制与粘贴
| 命令 | 说明 |
|---|---|
yy | 复制当前行(yank) |
yw | 复制一个单词 |
p | 在光标后粘贴 |
P | 在光标前粘贴 |
撤销与重做
| 命令 | 说明 |
|---|---|
u | 撤销(undo) |
Ctrl+r | 重做(redo) |
替换
| 命令 | 说明 |
|---|---|
r | 替换单个字符(按 r 后输入新字符) |
R | 进入替换模式(可以连续替换) |
练习 3:编辑练习
vim edit.txt输入:
第一行
第二行
第三行
练习:
- 删除第二行:光标移到第二行,按
dd - 复制第一行:光标移到第一行,按
yy,然后按p粘贴 - 替换字符:光标移到某个字符,按
r然后输入新字符 - 撤销操作:按
u撤销刚才的操作
🔍 第四课:搜索与替换(5 分钟)
搜索
| 命令 | 说明 |
|---|---|
/pattern | 向下搜索(如 /hello) |
?pattern | 向上搜索 |
n | 下一个匹配 |
N | 上一个匹配 |
* | 搜索当前光标下的单词 |
替换
| 命令 | 说明 |
|---|---|
:s/old/new | 替换当前行第一个匹配 |
:s/old/new/g | 替换当前行所有匹配 |
:%s/old/new/g | 替换全文所有匹配 |
:%s/old/new/gc | 替换全文(每次确认) |
示例:
:%s/foo/bar/g # 把全文的 foo 替换成 bar
:%s/foo/bar/gc # 替换时逐个确认
练习 4:搜索替换
vim search.txt输入:
hello world
hello vim
hello everyone
练习:
- 搜索 “hello”:按
/hello,然后按n查看下一个 - 替换:输入
:%s/hello/hi/g把所有 hello 替换成 hi
🎨 第五课:可视模式(5 分钟)
可视模式用于选择文本,类似其他编辑器的拖选。
| 命令 | 说明 |
|---|---|
v | 进入字符可视模式 |
V | 进入行可视模式 |
Ctrl+v | 进入块可视模式(列选择) |
使用场景
- 选择文本后删除:
v→ 移动光标选择 →d - 选择文本后复制:
V→ 移动光标选择 →y→p - 列编辑:
Ctrl+v→ 选择列 →I(插入)或d(删除)
练习 5:可视模式
vim visual.txt输入:
line one
line two
line three
练习:
- 按
V进入行可视模式 - 用
j选择多行 - 按
d删除选中的行 - 按
u撤销
💡 常用技巧与组合
组合命令
Vim 的强大在于命令可以组合:
| 组合 | 说明 |
|---|---|
d3w | 删除 3 个单词 |
y5j | 向下复制 5 行 |
c$ | 删除到行尾并进入插入模式 |
ci" | 删除引号内容并进入插入模式 |
di( | 删除括号内容(不删除括号) |
重复操作
| 命令 | 说明 |
|---|---|
. | 重复上次操作 |
{n}命令 | 执行命令 n 次(如 5dd 删除 5 行) |
实用技巧
- 快速跳转到行:
:50跳转到第 50 行 - 显示行号:
:set number或:set nu - 隐藏行号:
:set nonumber或:set nonu - 显示相对行号:
:set relativenumber或:set rnu(方便用数字+命令)
🎯 学习路径建议
第 1 周:基础生存
- ✅ 掌握模式切换(
i、Esc) - ✅ 掌握保存退出(
:wq、:q!) - ✅ 掌握基本移动(
hjkl、w、b、0、$) - ✅ 掌握基本编辑(
dd、yy、p、u)
第 2 周:提高效率
- ✅ 掌握快速移动(
gg、G、{n}G) - ✅ 掌握搜索(
/、n、N) - ✅ 掌握替换(
:s、:%s) - ✅ 掌握可视模式(
v、V)
第 3 周:进阶技巧
- ✅ 掌握组合命令(
d3w、c$等) - ✅ 掌握重复操作(
.、数字前缀) - ✅ 学习多文件编辑(窗口分割、标签页)
- ✅ 开始配置
.vimrc
第 4 周:定制环境
- ✅ 学习配置文件
- ✅ 安装常用插件
- ✅ 优化工作流程
❓ 常见问题
Q1: 我按什么键都没反应?
A: 你可能在普通模式,按 i 进入插入模式才能输入文本。
Q2: 我卡住了,怎么退出?
A: 按 Esc 多次,然后输入 :q! 强制退出。
Q3: 我删错了,怎么恢复?
A: 按 u 撤销,按 Ctrl+r 重做。
Q4: 怎么显示行号?
A: 输入 :set number 或 :set nu
Q5: 怎么复制多行?
A:
- 方法1:
V进入行可视模式 → 选择行 →y复制 →p粘贴 - 方法2:
{n}yy复制 n 行(如5yy复制 5 行)
Q6: 怎么快速删除多行?
A: {n}dd 删除 n 行(如 10dd 删除 10 行)
Q7: 怎么在多个位置插入相同内容?
A:
- 在第一个位置输入内容
- 按
Esc返回普通模式 - 移动到下一个位置
- 按
.重复上次插入
Q8: 方向键不工作?
A: 这是正常的!Vim 设计就是使用 hjkl,方向键可能被映射到其他功能。坚持使用 hjkl,很快会习惯。
🎮 推荐练习方式
1. 交互式教程
- Vimtutor:Vim 自带教程,终端输入
vimtutor - Open Vim:https://www.openvim.com/(在线交互式教程)
- Vim Adventures:https://vim-adventures.com/(游戏化学习)
2. 日常使用
- 在终端编辑配置文件时使用 Vim
- 在 Git 提交信息时使用 Vim
- 每天用 Vim 编辑一个小文件
3. 刻意练习
- 每天练习 10-15 分钟
- 不要急于使用插件,先掌握基础
- 遇到重复操作时,思考是否有更高效的 Vim 方式
📖 下一步学习
掌握基础后,可以继续学习:
- 02-Vim-模式详解 - 深入理解各种模式
- 03-Vim-基础命令速查 - 完整命令参考
- 04-Vim-配置最佳实践 - 定制你的 Vim
- 05-Vim-插件推荐 - 扩展 Vim 功能
- 06-Vim-高级技巧 - 提升编辑效率
💬 学习建议
- 不要放弃:前 3 天会很不习惯,坚持一周就会好很多
- 循序渐进:不要一次学太多,每天掌握几个命令
- 实际应用:在真实场景中使用,而不是只看教程
- 使用 vimtutor:Vim 自带的教程是最好的入门方式
- 不要依赖鼠标:强制自己只用键盘,这是 Vim 的精髓
🎉 总结
你已经掌握了 Vim 的基础操作:
✅ 模式切换(普通模式、插入模式、命令模式)
✅ 基本移动(hjkl、w、b、0、$、gg、G)
✅ 基本编辑(dd、yy、p、u、x)
✅ 搜索替换(/、:s、:%s)
✅ 文件操作(:w、:q、:wq)
记住:Vim 的学习曲线虽然陡峭,但一旦掌握,编辑效率会大幅提升。继续练习,你会越来越熟练!
相关资源:
- Vim 官方文档
- Vim 中文文档
- Vim Adventures - 游戏化学习
- Open Vim - 交互式教程