Vim 新手快速上手指南

从零开始学习 Vim,30 分钟掌握基本操作

🎯 为什么学习 Vim?

  • 无处不在:几乎所有 Linux/Unix 系统都预装 Vim
  • 高效编辑:熟练后编辑速度远超普通编辑器
  • 无需鼠标:纯键盘操作,减少手部移动
  • 可定制性强:通过配置和插件打造专属编辑器
  • 轻量快速:启动快,占用资源少

📦 安装与启动

检查是否已安装

vim --version

安装 Vim

macOS:

brew install vim

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install vim

CentOS/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
  1. i 进入插入模式
  2. 输入:Hello, Vim!
  3. Esc 返回普通模式
  4. 输入 :wq 保存并退出

恭喜!你已经完成了第一次 Vim 编辑! 🎉


📚 第二课:光标移动(10 分钟)

为什么不用方向键?

Vim 使用 hjkl 代替方向键,因为:

  • 手不需要离开键盘主区域
  • 可以组合其他命令
  • 更符合 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

练习:

  1. 使用 hjkl 移动光标
  2. 使用 wb 在单词间移动
  3. 使用 0$ 移动到行首和行尾
  4. 使用 ggG 移动到文件开头和末尾

✏️ 第三课:文本编辑(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

输入:

第一行
第二行
第三行

练习:

  1. 删除第二行:光标移到第二行,按 dd
  2. 复制第一行:光标移到第一行,按 yy,然后按 p 粘贴
  3. 替换字符:光标移到某个字符,按 r 然后输入新字符
  4. 撤销操作:按 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

练习:

  1. 搜索 “hello”:按 /hello,然后按 n 查看下一个
  2. 替换:输入 :%s/hello/hi/g 把所有 hello 替换成 hi

🎨 第五课:可视模式(5 分钟)

可视模式用于选择文本,类似其他编辑器的拖选。

命令说明
v进入字符可视模式
V进入行可视模式
Ctrl+v进入块可视模式(列选择)

使用场景

  1. 选择文本后删除v → 移动光标选择 → d
  2. 选择文本后复制V → 移动光标选择 → yp
  3. 列编辑Ctrl+v → 选择列 → I(插入)或 d(删除)

练习 5:可视模式

vim visual.txt

输入:

line one
line two
line three

练习:

  1. V 进入行可视模式
  2. j 选择多行
  3. d 删除选中的行
  4. u 撤销

💡 常用技巧与组合

组合命令

Vim 的强大在于命令可以组合:

组合说明
d3w删除 3 个单词
y5j向下复制 5 行
c$删除到行尾并进入插入模式
ci"删除引号内容并进入插入模式
di(删除括号内容(不删除括号)

重复操作

命令说明
.重复上次操作
{n}命令执行命令 n 次(如 5dd 删除 5 行)

实用技巧

  1. 快速跳转到行:50 跳转到第 50 行
  2. 显示行号:set number:set nu
  3. 隐藏行号:set nonumber:set nonu
  4. 显示相对行号:set relativenumber:set rnu(方便用数字+命令)

🎯 学习路径建议

第 1 周:基础生存

  • ✅ 掌握模式切换(iEsc
  • ✅ 掌握保存退出(:wq:q!
  • ✅ 掌握基本移动(hjklwb0$
  • ✅ 掌握基本编辑(ddyypu

第 2 周:提高效率

  • ✅ 掌握快速移动(ggG{n}G
  • ✅ 掌握搜索(/nN
  • ✅ 掌握替换(:s:%s
  • ✅ 掌握可视模式(vV

第 3 周:进阶技巧

  • ✅ 掌握组合命令(d3wc$ 等)
  • ✅ 掌握重复操作(.、数字前缀)
  • ✅ 学习多文件编辑(窗口分割、标签页)
  • ✅ 开始配置 .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:

  1. 在第一个位置输入内容
  2. Esc 返回普通模式
  3. 移动到下一个位置
  4. . 重复上次插入

Q8: 方向键不工作?

A: 这是正常的!Vim 设计就是使用 hjkl,方向键可能被映射到其他功能。坚持使用 hjkl,很快会习惯。


🎮 推荐练习方式

1. 交互式教程

2. 日常使用

  • 在终端编辑配置文件时使用 Vim
  • 在 Git 提交信息时使用 Vim
  • 每天用 Vim 编辑一个小文件

3. 刻意练习

  • 每天练习 10-15 分钟
  • 不要急于使用插件,先掌握基础
  • 遇到重复操作时,思考是否有更高效的 Vim 方式

📖 下一步学习

掌握基础后,可以继续学习:

  1. 02-Vim-模式详解 - 深入理解各种模式
  2. 03-Vim-基础命令速查 - 完整命令参考
  3. 04-Vim-配置最佳实践 - 定制你的 Vim
  4. 05-Vim-插件推荐 - 扩展 Vim 功能
  5. 06-Vim-高级技巧 - 提升编辑效率

💬 学习建议

  1. 不要放弃:前 3 天会很不习惯,坚持一周就会好很多
  2. 循序渐进:不要一次学太多,每天掌握几个命令
  3. 实际应用:在真实场景中使用,而不是只看教程
  4. 使用 vimtutor:Vim 自带的教程是最好的入门方式
  5. 不要依赖鼠标:强制自己只用键盘,这是 Vim 的精髓

🎉 总结

你已经掌握了 Vim 的基础操作:

✅ 模式切换(普通模式、插入模式、命令模式)
✅ 基本移动(hjklwb0$ggG
✅ 基本编辑(ddyypux
✅ 搜索替换(/:s:%s
✅ 文件操作(:w:q:wq

记住:Vim 的学习曲线虽然陡峭,但一旦掌握,编辑效率会大幅提升。继续练习,你会越来越熟练!


相关资源