Appearance
5. Vim 编辑器使用
本章系统介绍 Linux 环境中常用文本编辑器 Vim 的使用方法。通过掌握基本操作、模式切换与常用命令,可在服务器环境中高效完成配置文件编辑、日志查看与脚本修改。
🧠 知识点:Vim 是 Vi 的增强版编辑器,内置于几乎所有 Linux 发行版中。其核心理念是“模式化编辑”,即通过不同模式完成插入、命令、选择等操作。
5.1 Vim 三种基本模式
🧠 知识点:Vim 的核心操作基于三种主要模式,每种模式负责不同的编辑任务:
| 模式名称 | 英文名 | 进入方式 | 功能说明 | 退出方式 |
|---|---|---|---|---|
| 普通模式 | Normal Mode | 启动后默认进入;从插入模式按 Esc 返回 | 执行光标移动、删除、复制、粘贴、查找等操作,不可直接输入文字 | 按 i、a、o 进入插入模式 |
| 插入模式 | Insert Mode | 在普通模式下按 i、a、o、I、A 等 | 可直接输入文本内容,类似常规编辑器的输入模式 | 按 Esc 返回普通模式 |
| 命令行模式 | Command-Line Mode | 在普通模式下按 :、/、? | 输入并执行命令,如保存(:w)、退出(:q)、搜索(/pattern)、替换等 | 执行命令或按 Esc 返回普通模式 |
💡 提示:Vim 启动后默认处于 普通模式。按
i、a或o进入 插入模式 以编辑内容;按:进入 命令行模式 执行保存、退出、搜索等命令。
✅ 检查点:按下
Esc键时,若底部状态栏无提示符号,说明已成功回到普通模式。
5.2 打开与退出 Vim
🛠️ 操作步骤:
打开文件(若文件不存在则自动创建):
bashvim filename保存并退出:
bash:wq # 写入文件并退出仅退出(不保存修改):
bash:q! # 强制退出仅保存但不退出:
bash:w # 保存修改
⚠️ 注意:若文件权限不足,可使用
:w !sudo tee %提升写入权限。
✅ 检查点:退出前应确认命令行模式左下角提示
written表示保存成功。
5.3 插入与删除文本
🧠 知识点:在 Vim 中,文本编辑需从普通模式切换到插入模式。
🛠️ 操作步骤:
进入插入模式:
bashi # 在光标前插入 a # 在光标后插入 o # 在下一行插入新行删除文本:
bashx # 删除光标处字符 dd # 删除整行 D # 删除光标到行尾内容
💡 提示:连续按多次命令可进行批量操作,例如
3dd表示删除 3 行。
✅ 检查点:执行删除操作后,使用
u可撤销上一步操作。
5.4 复制与粘贴文本
🛠️ 操作步骤:
复制文本:
bashyy # 复制当前行 5yy # 复制从当前行起的 5 行粘贴文本:
bashp # 在光标后粘贴 P # 在光标前粘贴
💡 提示:Vim 的复制缓冲区称为“寄存器(Register)”,默认使用匿名寄存器保存复制内容。
✅ 检查点:复制后执行
p粘贴,确认目标内容成功写入。
5.5 撤销与重做
🧠 知识点:Vim 支持多层撤销与重做操作,便于恢复编辑历史。
bash
u # 撤销上一步操作
Ctrl + r # 重做被撤销的操作⚠️ 注意:过多的撤销历史会在退出后清除,无法跨会话保存。
✅ 检查点:使用
u撤销删除后,再按Ctrl + r应能恢复原行。
5.6 搜索与替换
🧠 知识点:Vim 支持正则匹配搜索与范围替换。
🛠️ 操作步骤:
搜索关键字:
bash/keyword # 向下搜索 ?keyword # 向上搜索 n # 查找下一个匹配项 N # 查找上一个匹配项替换文本:
bash:%s/old/new/g # 全文替换 :5,10s/old/new/g # 替换第 5 到 10 行 :%s/old/new/gc # 全文替换并逐一确认
⚠️ 注意:替换命令前缀
%表示全文范围,可替换为具体行号区间。
✅ 检查点:执行替换后 Vim 状态栏应提示“X substitutions”。
5.7 可视模式操作
🧠 知识点:可视模式可选择文本区域进行复制、删除或格式化。
🛠️ 操作步骤:
进入可视模式:
bashv # 按字符选择 V # 按行选择 Ctrl + v # 按块选择(列编辑)对选中内容执行操作:
bashd # 删除选中区域 y # 复制选中区域 > # 向右缩进 < # 向左缩进
💡 提示:按下
Esc可退出可视模式并返回普通模式。
✅ 检查点:选中多行后按
y,再到目标处按p应成功粘贴。
5.8 显示与格式化
🧠 知识点:通过设置参数可优化 Vim 显示效果与代码阅读体验。
🛠️ 操作步骤:
bash
:set number # 显示行号
:set autoindent # 自动缩进
:set tabstop=4 # 设置 Tab 宽度为 4 空格
:set ignorecase # 搜索时忽略大小写
:set hlsearch # 高亮显示匹配结果💡 提示:可将常用配置写入
~/.vimrc文件以便永久生效。
5.9 保存、退出与恢复
🧠 知识点:Vim 支持多种保存退出方式,并可在异常中断后恢复。
🛠️ 操作步骤:
bash
:w # 保存但不退出
:q # 退出(若有未保存内容会提示)
:q! # 强制退出不保存
:wq # 保存并退出
ZZ # 等效于 :wq💡 提示:若 Vim 因系统中断而崩溃,重新打开文件时会提示恢复选项,可选择
:recover命令恢复上次编辑内容。
⚠️ 注意:恢复完成后请手动删除
.swp交换文件,以免下次启动警告。
5.10 常见问题与排查
🔍 故障排查:
问题 1: 忘记保存文件就退出 Vim?
解决方法: 若存在.swp文件,可重新打开原文件并执行:recover。问题 2: 编辑系统文件提示权限不足?
解决方法: 在 Vim 中执行:bash:w !sudo tee %问题 3: Vim 无法输入中文?
解决方法: 确认系统 locale 设置正确,如export LANG=zh_CN.UTF-8。💡 提示:可以使用
vimtutor命令进入官方教学模式练习基础操作。
5.11 实践任务
- 打开
/etc/hosts文件,尝试添加新条目并保存退出。 - 使用可视模式复制多行到新位置。
- 练习使用
/keyword搜索并替换为新内容。 - 在
~/.vimrc中添加基础配置(如行号与缩进)。
✅ 检查点:执行
cat ~/.vimrc时应能看到自定义配置已生效。
5.12 常用快捷键汇总表
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 保存并退出 | :wq 或 ZZ | 写入并关闭文件 |
| 强制退出不保存 | :q! | 丢弃修改退出 |
| 撤销 | u | 撤销上一步操作 |
| 重做 | Ctrl + r | 恢复被撤销的操作 |
| 删除行 | dd | 删除当前行 |
| 复制行 | yy | 复制当前行 |
| 粘贴 | p | 在光标后粘贴 |
| 搜索关键字 | /keyword | 向下搜索 |
| 全文替换 | :%s/old/new/g | 替换全文中的字符串 |
| 显示行号 | :set number | 显示行号 |
| 自动缩进 | :set autoindent | 启用缩进 |
| 块选择 | Ctrl + v | 进入列编辑模式 |
🧾 总结: 本章从基础模式到常用命令系统讲解了 Vim 的核心操作逻辑。熟练掌握 Vim 能大幅提升在命令行环境下的文本编辑效率,是 Linux 运维与开发人员的必备技能。
