vim教程
一、先掌握「三大模式」:Vim 的灵魂!
1.命令模式(默认启动进入)
- 作用:像「指挥官」,输入命令控制 Vim(不能直接打字)。
- 怎么进入:打开 Vim 就自动在这模式,按
ESC键也会回到这模式(新手记不住就多按几次 ESC)。
2.插入模式(打字模式)
- 作用:像「打字机」,可以输入文字。
- 怎么进入:在命令模式按以下键:
i:在当前位置插入(最常用)a:在光标后面追加o:在当前行下方新开一行插入I:在行首插入A:在行尾插入
3.底行模式(输入命令行)
- 作用:像「菜单」,输入带冒号
:的命令(如保存、退出、查找)。 - 怎么进入:在命令模式按
:键,光标会跳到屏幕底部。
二、必学操作 1:启动 Vim 和退出
1.打开文件(或创建新文件)
1 | |
2.退出 Vim 的 3 种方式(在命令模式下操作)
情况 1:刚打开没修改,直接退出
按
ESC进入命令模式 → 输入:q→ 按回车(q是 quit 的缩写)。情况 2:修改了文件,保存并退出
按
ESC→ 输入:wq→ 回车(w是 write,q是 quit)。情况 3:修改了但不想保存,强制退出
按
ESC→ 输入:q!→ 回车(!表示强制)。
💡 新手注意:如果不知道自己在哪个模式,先按ESC,再输入:wq准没错!
三、必学操作 2:插入模式(终于能打字了!)
1.进入插入模式的常用按键
i:在光标当前位置插入(比如光标在字母a前面,按 i 就会在a前插入)。a:在光标后面追加(比如光标在a上,按 a 会在a后面加字)。o:在当前行下方新建一行插入(比如光标在第 3 行,按 o 会在第 3 行下面开第 4 行)。
🌰 例子:
假设现在命令模式下,光标在单词「hello」的h上:
- 按
i→ 可以在h前面插入字符; - 按
a→ 可以在h后面(即e前面)插入字符; - 按
o→ 会在当前行下方新开一行,进入插入模式。
四、必学操作 3:命令模式(编辑文本的核心)
1.移动光标(不用方向键!)
h:左移(像拼音「左」的首字母)j:下移(像向下的箭头↓)k:上移(像向上的箭头↑)l:右移(像向右的箭头→)空格:向右移动(比 l 好记)0(数字零):跳到行首$:跳到行尾G:跳到文件最后一行gg:跳到文件第一行
2.删除文本
x:删除光标所在的单个字符(像「剪刀」剪一个字)dd:删除光标所在的整行(按两次 d,像「剪刀」剪一行)3dd:删除从当前行开始的 3 行(数字 + dd)
3.复制粘贴
yy:复制当前行(按两次 y,像「复印机」复印一行)3yy:复制 3 行p:粘贴到光标后面(像「胶水」粘内容)
4.撤销和重做
u:撤销上一步操作(像 Ctrl+Z)Ctrl+r:重做(撤销后反悔了)
五、必学操作 4:底行模式(高级命令在这里)
1.保存文件
:w:保存(不管有没有修改,像 Ctrl+S):w newfile.txt:另存为新文件
2.查找文本
:find 关键词:在文件中查找关键词(按n跳到下一个匹配项,N跳到上一个):s/旧内容/新内容:替换当前行第一个匹配项(比如:s/hello/hi):s/旧内容/新内容/g:替换当前行所有匹配项(g是 global 的意思):%s/旧内容/新内容/g:替换整个文件的所有匹配项(%表示全部行)
3.其他实用命令
:set nu:显示行号(方便定位):set nonu:取消行号:10:跳到第 10 行
六、实战练习:5 分钟上手 Vim!
- 第一步:创建并编辑一个新文件
1
vimtest.txt按
i进入插入模式,输入:1
2
3今天学习Vim
这是一个测试文件
加油!按
ESC回到命令模式,输入:wq保存退出。
- 第二步:修改文件
1
vimtest.txt- 用
j键下移到第二行,按dd删除这一行。 - 按
o在下方新建一行,输入这是修改后的第二行。 - 按
ESC,输入:wq保存退出。
- 用
- 第三步:查找替换
1
vimtest.txt- 输入
:set nu显示行号。 - 输入
:find 今天查找关键词。 - 输入
:1s/今天/明天/g把第一行的「今天」换成「明天」。 - 按
ESC,输入:wq保存退出。
- 输入
七、新手常见问题(避坑指南)
问题:按了键盘没反应,打不出字!
原因:在命令模式,不是插入模式。
解决:按
i进入插入模式,或按ESC确认当前模式。问题:想退出但提示「文件已修改」
解决:输入
:wq保存退出,或:q!强制不保存退出。问题:记不住命令怎么办?
解决:先记住最常用的(见下表),用多了自然就熟了。
八、最常用的 10 个 Vim 命令(背下这几个够用 80% 场景)
| 操作 | 命令(在对应模式下输入) |
|---|---|
| 进入插入模式 | 命令模式按`i` |
| 保存文件 | 底行模式输入`:w` |
| 保存并退出 | 底行模式输入`:wq` |
| 强制退出不保存 | 底行模式输入`:q!` |
| 删除当前行 | 命令模式按`dd` |
| 复制当前行 | 命令模式按`yy` |
| 粘贴 | 命令模式按`p` |
| 撤销 | 命令模式按`u` |
| 查找关键词 | 底行模式输入`:find 关键词` |
| 显示行号 | 底行模式输入`:set nu` |
vim教程
https://oldstory.cn/2025/07/02/vim_jiao_cheng/