文章目录
- [🎹 Vim 的三大核心模式](#🎹 Vim 的三大核心模式)
- [💾 文件的打开、保存与退出](#💾 文件的打开、保存与退出)
- [⌨️ 常用命令速查表](#⌨️ 常用命令速查表)
-
- [1. 进入插入模式(从普通模式出发)](#1. 进入插入模式(从普通模式出发))
- [2. 光标高效移动(普通模式)](#2. 光标高效移动(普通模式))
- [3. 文本编辑(删除、复制、粘贴)](#3. 文本编辑(删除、复制、粘贴))
- [4. 撤销与重做(普通模式)](#4. 撤销与重做(普通模式))
- [5. 搜索与替换(普通模式 / 底行模式)](#5. 搜索与替换(普通模式 / 底行模式))
- [💡 进阶实用技巧](#💡 进阶实用技巧)
-
- [1. 分屏操作](#1. 分屏操作)
- [2. 批量注释(可视块模式)](#2. 批量注释(可视块模式))
- [3. 显示行号](#3. 显示行号)
Vim 是 Linux 系统中功能极其强大的文本编辑器,它的高效完全依赖于模式切换。很多新手觉得它难用,往往是因为没有理解它的三种核心工作模式。
🎹 Vim 的三大核心模式
在开始学习命令前,必须先搞清楚你当前处于哪种模式:
- 普通模式(Normal Mode):打开文件时的默认模式。主要用于浏览、移动光标、复制、删除等。
- 插入模式(Insert Mode) :用于输入和编辑文本。在普通模式下按
i、a、o等键进入,按Esc键退回普通模式。 - 底行/命令模式(Command-Line Mode) :用于保存、退出、查找替换等高级操作。在普通模式下按
:进入。
💾 文件的打开、保存与退出
这些操作通常在普通模式 下按下冒号 : 进入底行模式后执行:
| 命令 | 作用 | 说明 |
|---|---|---|
:w |
保存 | 仅保存当前修改,不退出 |
:q |
退出 | 如果文件未修改可直接退出 |
:wq |
保存并退出 | 最常用的退出方式(也可在普通模式直接按 ZZ) |
:q! |
强制退出不保存 | 放弃所有修改,直接退出 |
:w 新文件名 |
另存为 | 将当前内容保存为一个新的文件 |
⌨️ 常用命令速查表
1. 进入插入模式(从普通模式出发)
| 快捷键 | 作用 | 场景示例 |
|---|---|---|
i |
在光标前插入 | 在单词中间补字 |
a |
在光标后插入 | 接着当前光标继续写 |
o |
在当前行下方新开一行插入 | 新增一行内容 |
I |
跳到行首并进入插入模式 | 给行首加注释 |
A |
跳到行尾并进入插入模式 | 补充行尾内容 |
2. 光标高效移动(普通模式)
掌握这些可以彻底告别方向键,大幅提升效率:
- 基础移动 :
h(左)、j(下)、k(上)、l(右) - 行内跳跃 :
0(跳到行首)、$(跳到行尾) - 全文跳跃 :
gg(跳到文件第一行)、G(跳到文件最后一行) - 指定行跳转 :输入
行号G(例如10G跳转到第 10 行),或者在底行模式输入:10。 - 翻页 :
Ctrl + f(向下翻一页)、Ctrl + b(向上翻一页)。
3. 文本编辑(删除、复制、粘贴)
- 删除 :
x:删除光标所在的一个字符。dd:删除(剪切)当前整行。ndd:删除(剪切)从当前行开始的 n 行(如3dd删除 3 行)。
- 复制 :
yy:复制当前整行。nyy:复制从当前行开始的 n 行(如3yy复制 3 行)。
- 粘贴 :
p:粘贴到光标后(或下一行)。P:粘贴到光标前(或上一行)。
4. 撤销与重做(普通模式)
u:撤销上一步操作(可以连续按,撤销多步)。Ctrl + r:反撤销(恢复刚刚被撤销的操作)。
5. 搜索与替换(普通模式 / 底行模式)
- 搜索 :
/关键词:向下查找关键词,按n跳转到下一个匹配项。?关键词:向上查找关键词。
- 替换 (底行模式):
:s/旧内容/新内容/g:替换当前行的所有旧内容。:%s/旧内容/新内容/g:替换整个文件的所有旧内容。:%s/旧内容/新内容/gc:全局替换,但每次替换前会询问确认(推荐新手使用)。
💡 进阶实用技巧
1. 分屏操作
当需要同时查看两个文件,或者对比代码时非常有用:
- 垂直分屏 :
:vsp 文件名(例如:vsp config.txt,会在右侧打开一个新窗口)。 - 水平分屏 :
:sp 文件名。 - 窗口切换 :按
Ctrl + w + w可以在多个分屏窗口之间来回切换。 - 关闭当前窗口 :在当前分屏中输入
:q。
2. 批量注释(可视块模式)
如果需要一次性给多行代码前面加上 # 注释:
- 在普通模式下,将光标移动到要注释的第一行。
- 按
Ctrl + v进入可视块模式。 - 按
j或k上下选中需要注释的多行。 - 按大写的
I(进入插入模式),输入#。 - 按两下
Esc,你会发现选中的所有行都被加上了注释。
3. 显示行号
如果你希望编辑时看到行号,可以在底行模式输入 :set nu(临时生效)。如果想永久生效,需要将配置写入用户目录下的 .vimrc 文件中。
建议你先从最基础的"打开文件 -> 按 i 编辑 -> 按 Esc -> 输入 :wq 保存退出"这一套流程练起,熟练后再慢慢尝试复制粘贴和光标跳跃等高效命令!