6. Vim 编辑器使用
本章节系统介绍 Linux 环境中常用文本编辑器 Vim 的使用方法。通过掌握基本操作、模式切换与常用命令,可在服务器环境中高效完成配置文件编辑、日志查看与脚本修改。
🧠 知识点:Vim 是 Vi 的增强版编辑器,内置于几乎所有 Linux 发行版中,包括 RHEL 9。其核心理念是“模式化编辑”,即通过不同模式完成插入、命令、选择等操作。在 RHEL 10 中,Vim 支持更多内置插件和语法高亮增强,便于处理现代脚本语言。
6.1 Vim 三种基本模式
🧠 知识点:Vim 的核心操作基于三种主要模式,每种模式负责不同的编辑任务:
| 模式名称 | 英文名 | 进入方式 | 功能说明 | 退出方式 |
|---|---|---|---|---|
| 普通模式 | Normal Mode | 启动后默认进入;从插入模式按 Esc 返回 |
执行光标移动、删除、复制、粘贴、查找等操作,不可直接输入文字 | 按 i、a、o 进入插入模式 |
| 插入模式 | Insert Mode | 在普通模式下按 i、a、o、I、A 等键进入 |
直接输入或修改文本内容 | 按 Esc 返回普通模式 |
| 命令行模式 | Command-line Mode | 在普通模式下按 :、/ 或 ? 进入 |
执行保存、退出、搜索、替换等命令 | 按 Enter 执行,按 Esc 返回普通模式 |
💡 提示:启动 Vim:
vim filename(若文件不存在,将创建新文件)。退出:从普通模式按:q。
6.2 普通模式常用命令
🛠️ 操作步骤:
- 光标移动:
h(左)、j(下)、k(上)、l(右);w(下一个词)、b(上一个词);gg(文件首)、G(文件尾)。 - 删除与复制:
x(删除字符)、dd(删除行)、yy(复制行)、p(粘贴)。 - 撤销与重做:
u(撤销)、Ctrl + r(重做)。
✅ 检查点:在普通模式下,按
dd删除一行,按u恢复。
6.3 插入模式常用命令
🛠️ 操作步骤:
i:在光标前插入。a:在光标后插入。o:在当前行下插入新行。I:在行首插入。A:在行尾插入。
💡 提示:插入模式适合文本编辑,按
Esc随时返回普通模式以执行命令。
6.4 命令行模式常用命令
🛠️ 操作步骤:
- 保存与退出:
:w(保存)、:q(退出)、:wq(保存并退出)、:q!(强制退出不保存)。 - 搜索:
/keyword(向下搜索)、?keyword(向上搜索)、n(下一个)、N(上一个)。 - 替换:
:%s/old/new/g(全局替换)。 - 设置:
:set number(显示行号)、:set nonumber(隐藏行号)。
✅ 检查点:按
:%s/old/new/g替换全文,按:wq保存退出。
6.5 视觉模式(Visual Mode)
🧠 知识点:视觉模式用于块选择与操作,按
v(字符选择)、V(行选择)、Ctrl + v(列选择)进入。🛠️ 操作步骤:
- 进入视觉模式:按
v或Ctrl + v。 - 选择区域:使用移动键(如
h j k l)。 - 操作:
d(删除)、y(复制)、p(粘贴)。
💡 提示:列模式适合编辑表格或对齐代码。在 RHEL 10 中,Vim 的视觉模式可能集成更多多光标支持,提升批量编辑效率。
6.6 多窗口与标签页
🛠️ 操作步骤:
- 分屏:
:split file2(水平分屏)、:vsplit file2(垂直分屏)。 - 切换窗口:
Ctrl + w+h j k l。 - 标签页:
:tabnew file(新标签)、gt(下一个标签)。
✅ 检查点:打开两个文件分屏,按
Ctrl + w h切换。
6.7 插件与配置
🧠 知识点:Vim 支持插件扩展,配置文件为
~/.vimrc。🛠️ 操作步骤:
-
编辑配置文件:
vim ~/.vimrc # 编辑用户 Vim 配置 # 示例添加: set number set autoindent syntax on -
应用配置:重启 Vim 或
:source ~/.vimrc。
💡 提示:安装插件如 NERDTree(文件浏览器):使用 Vim-Plug 或手动下载。
6.8 高级技巧
- 宏录制:
q<register>开始录制、q停止、@<register>回放。 - 批量替换:
:1,10s/old/new/g(前10行替换)。 - 外部命令:
:!command(如:!ls)。
⚠️ 注意:宏适合重复操作,慎用以避免错误。
6.9 常见问题与排查
🔍 故障排查:
-
问题 1:无法保存文件
解决:检查权限(sudo vim file)或只读模式(:w !sudo tee %)。 -
问题 2:语法高亮失效
解决:添加:syntax on到~/.vimrc。 -
问题 3:插件安装失败
解决:确认 Vim 版本(vim --version),使用包管理器安装依赖。
💡 提示:使用
:help查看内置帮助。
6.10 实践任务
- 使用 SecureCRT 通过 SSH(端口 2222)登录
LinuxDC,打开/etc/hosts文件。 - 在普通模式下,复制一行并粘贴。
- 进入插入模式,添加新行。
- 使用命令行模式搜索关键字并替换。
- 配置
~/.vimrc显示行号,并验证。
✅ 检查点:文件修改保存成功,配置生效。
6.11 自测问题
-
问题 1:如何进入插入模式?
答案:在普通模式按i、a或o。 -
问题 2:如何全局替换字符串?
答案:: %s/old/new/g。 -
问题 3:如何显示行号?
答案::set number或在~/.vimrc中添加set number。
6.12 常用快捷键汇总表
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 保存并退出 | :wq 或 ZZ |
写入并关闭文件 |
| 强制退出不保存 | :q! |
丢弃修改退出 |
| 撤销 | u |
撤销上一步操作 |
| 重做 | Ctrl + r |
恢复被撤销的操作 |
| 删除行 | dd |
删除当前行 |
| 复制行 | yy |
复制当前行 |
| 粘贴 | p |
在光标后粘贴 |
| 搜索关键字 | /keyword |
向下搜索 |
| 全文替换 | :%s/old/new/g |
替换全文中的字符串 |
| 显示行号 | :set number |
显示行号 |
| 自动缩进 | :set autoindent |
启用缩进 |
| 块选择 | Ctrl + v |
进入列编辑模式 |
🧾 总结:
本章从基础模式到常用命令系统讲解了 Vim 的核心操作逻辑。熟练掌握 Vim 能大幅提升在命令行环境下的文本编辑效率,是 Linux 运维与开发人员的必备技能,为后续网络配置和脚本编写提供高效工具支持。