3.3 Vim 编辑器基础
一、为什么学习 Vim
Vim 是 Linux/Unix 系统中最经典、最强大的终端文本编辑器之一,广泛用于服务器运维、开发、系统修复与配置管理。
Vim 的特点:
- 几乎所有 Linux 系统默认安装
- 纯键盘操作,效率高
- 支持语法高亮、搜索替换、多文件编辑等高级功能
- 在无图形界面的服务器环境中极其重要
- 系统救援模式通常只有 Vim 可用
二、Vim 的核心模式
Vim 基于“模式化编辑”设计,最重要的是以下三种模式:
| 模式 |
用途 |
进入方式 |
退出方式 |
| 普通模式(Normal) |
移动、删除、复制、粘贴 |
默认模式 |
— |
| 插入模式(Insert) |
输入文本 |
i、a、o 等 |
Esc |
| 命令模式(Command) |
保存、退出、搜索、替换 |
普通模式输入 : |
Enter 执行 |
三、打开与退出 Vim
打开文件
打开并跳转到指定行
打开并搜索内容
保存与退出
| 命令 |
作用 |
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:x |
保存并退出 |
:q! |
强制退出不保存 |
四、插入模式
常用进入方式
| 按键 |
作用 |
i |
当前光标位置插入 |
a |
光标后插入 |
o |
下一行插入 |
I |
行首插入 |
A |
行尾插入 |
O |
上一行插入 |
退出插入模式:
五、光标移动
基础移动
行内移动
| 按键 |
作用 |
0 |
行首 |
^ |
行首第一个非空字符 |
$ |
行尾 |
单词移动
| 按键 |
作用 |
w |
下一个单词开头 |
b |
上一个单词开头 |
e |
当前单词结尾 |
文件跳转
| 按键 |
作用 |
gg |
文件第一行 |
G |
文件最后一行 |
:10 |
跳到第10行 |
10G |
跳到第10行 |
翻页
| 按键 |
作用 |
Ctrl + f |
下一页 |
Ctrl + b |
上一页 |
Ctrl + d |
下翻半页 |
Ctrl + u |
上翻半页 |
六、编辑操作
删除
| 命令 |
作用 |
x |
删除字符 |
dw |
删除单词 |
de |
删除到单词末尾 |
dd |
删除整行 |
d$ |
删除到行尾 |
d0 |
删除到行首 |
3dd |
删除3行 |
复制与粘贴
| 命令 |
作用 |
yy |
复制当前行 |
2yy |
复制2行 |
yw |
复制单词 |
p |
向后粘贴 |
P |
向前粘贴 |
撤销与重做
| 命令 |
作用 |
u |
撤销 |
Ctrl + r |
重做 |
. |
重复上一步操作 |
替换与修改
| 命令 |
作用 |
r |
替换字符 |
R |
替换模式 |
cc |
删除整行并编辑 |
cw |
删除单词并编辑 |
c$ |
删除到行尾并编辑 |
大小写转换
| 命令 |
作用 |
~ |
切换大小写 |
guw |
单词转小写 |
gUw |
单词转大写 |
七、搜索与替换
搜索
向下搜索。
向上搜索。
搜索跳转
搜索设置
忽略大小写。
取消忽略大小写。
取消搜索高亮。
八、文本替换
当前行替换
替换当前行第一个匹配。
替换当前行所有匹配。
全文替换
替换整个文件。
替换前确认
每次替换前询问确认。
指定行范围替换
替换第5到10行。
九、常用高级功能
行号显示
关闭行号:
语法高亮
十、多文件编辑
打开其他文件
Buffer 切换
| 命令 |
作用 |
:bn |
下一个文件 |
:bp |
上一个文件 |
:ls |
查看缓冲区 |
:b 2 |
切换到指定缓冲区 |
十一、分屏操作
水平分屏
垂直分屏
分屏切换
关闭分屏
十二、执行外部命令
临时执行系统命令。
十三、Vim 配置文件
用户配置文件:
全局配置文件:
十四、常用 Vim 配置
显示行号
开启语法高亮
Tab 宽度
Tab 转空格
自动缩进
搜索忽略大小写
搜索高亮
增量搜索
十五、快速创建 Vim 配置
1 2 3 4
| echo "set number" >> ~/.vimrc echo "syntax on" >> ~/.vimrc echo "set tabstop=4" >> ~/.vimrc echo "set expandtab" >> ~/.vimrc
|
十六、常用 Vim 命令速查
| 命令 |
作用 |
i |
插入 |
Esc |
返回普通模式 |
:wq |
保存退出 |
dd |
删除行 |
yy |
复制行 |
p |
粘贴 |
/word |
搜索 |
u |
撤销 |
Ctrl+r |
重做 |
gg |
文件开头 |
G |
文件结尾 |
:set number |
显示行号 |
:%s/a/b/g |
全文替换 |
十七、总结
Vim 的核心是“模式化编辑”:
- 普通模式负责操作
- 插入模式负责输入
- 命令模式负责控制
掌握以下内容后即可完成大部分 Linux 文本编辑工作:
- 模式切换
- 光标移动
- 删除复制粘贴
- 搜索替换
- 保存退出
- 基础配置
熟练使用 Vim 后,在服务器环境中的编辑效率会远高于图形化编辑器。