跳转至

6. Vim 编辑器使用

本章节系统介绍 Linux 环境中常用文本编辑器 Vim 的使用方法。通过掌握基本操作、模式切换与常用命令,可在服务器环境中高效完成配置文件编辑、日志查看与脚本修改。

🧠 知识点:Vim 是 Vi 的增强版编辑器,内置于几乎所有 Linux 发行版中,包括 RHEL 9。其核心理念是“模式化编辑”,即通过不同模式完成插入、命令、选择等操作。在 RHEL 10 中,Vim 支持更多内置插件和语法高亮增强,便于处理现代脚本语言。


6.1 Vim 三种基本模式

🧠 知识点:Vim 的核心操作基于三种主要模式,每种模式负责不同的编辑任务:

模式名称 英文名 进入方式 功能说明 退出方式
普通模式 Normal Mode 启动后默认进入;从插入模式按 Esc 返回 执行光标移动、删除、复制、粘贴、查找等操作,不可直接输入文字 iao 进入插入模式
插入模式 Insert Mode 在普通模式下按 iaoIA 等键进入 直接输入或修改文本内容 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(列选择)进入。

🛠️ 操作步骤

  1. 进入视觉模式:按 vCtrl + v
  2. 选择区域:使用移动键(如 h j k l)。
  3. 操作: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

🛠️ 操作步骤

  1. 编辑配置文件:

    vim ~/.vimrc  # 编辑用户 Vim 配置
    # 示例添加:
    set number
    set autoindent
    syntax on
    

  2. 应用配置:重启 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 实践任务

  1. 使用 SecureCRT 通过 SSH(端口 2222)登录 LinuxDC,打开 /etc/hosts 文件。
  2. 在普通模式下,复制一行并粘贴。
  3. 进入插入模式,添加新行。
  4. 使用命令行模式搜索关键字并替换。
  5. 配置 ~/.vimrc 显示行号,并验证。

检查点:文件修改保存成功,配置生效。


6.11 自测问题

  • 问题 1:如何进入插入模式?
    答案:在普通模式按 iao

  • 问题 2:如何全局替换字符串?
    答案: %s/old/new/g

  • 问题 3:如何显示行号?
    答案:set number 或在 ~/.vimrc 中添加 set number


6.12 常用快捷键汇总表

功能 快捷键 说明
保存并退出 :wqZZ 写入并关闭文件
强制退出不保存 :q! 丢弃修改退出
撤销 u 撤销上一步操作
重做 Ctrl + r 恢复被撤销的操作
删除行 dd 删除当前行
复制行 yy 复制当前行
粘贴 p 在光标后粘贴
搜索关键字 /keyword 向下搜索
全文替换 :%s/old/new/g 替换全文中的字符串
显示行号 :set number 显示行号
自动缩进 :set autoindent 启用缩进
块选择 Ctrl + v 进入列编辑模式

🧾 总结
本章从基础模式到常用命令系统讲解了 Vim 的核心操作逻辑。熟练掌握 Vim 能大幅提升在命令行环境下的文本编辑效率,是 Linux 运维与开发人员的必备技能,为后续网络配置和脚本编写提供高效工具支持。