Linux编辑器——vim的基础使用

Linux编辑器——vim的基础使用
最新回答
忆海

2026-10-17 13:05:48

vim 是一款高度可定制化的文本编辑器,支持命令模式、插入模式和底行模式三种基础模式,通过模式切换实现高效文本操作。

一、vim 的三种基础模式
  • 命令模式(Normal Mode)启动 vim 后默认进入此模式,用于控制光标移动、文本删除、复制粘贴、模式切换等操作。可通过输入 a/i/o 进入插入模式,或输入 : 进入底行模式。

  • 插入模式(Insert Mode)仅在此模式下可输入文本内容,窗口底部显示 -- INSERT -- 提示。按 ESC 键返回命令模式。

  • 底行模式(Command-line Mode)在命令模式下输入 : 进入,用于文件保存(:w)、退出(:q)、强制操作(:q!)、查找替换(:%s/old/new/g)等高级功能。

二、基础操作流程
  1. 启动 vim在终端输入 vim 文件名 进入全屏编辑界面,默认处于命令模式。

  2. 模式切换

    命令模式 → 插入模式:按 i(光标前插入)、a(光标后插入)或 o(下方新建行插入)。

    插入模式 → 命令模式:按 ESC 键。

    命令模式 → 底行模式:按 : 键。

  3. 保存与退出

    :w:保存文件但不退出。

    :wq 或 :x:保存并退出。

    :q!:强制退出不保存。

三、命令模式常用操作1. 光标移动
  • 基础移动:h(左)、j(下)、k(上)、l(右)替代方向键,适合单手操作。
  • 单词级移动:w(跳至下一个单词开头)、b(跳至上一个单词开头)、e(跳至单词末尾)。
  • 行首行尾:0(行首)、$(行尾)、^(第一个非空格字符)。
  • 页面跳转:Ctrl + f(向下翻页)、Ctrl + b(向上翻页)、G(跳至文件末尾)、gg(跳至文件开头)、:行号(跳至指定行)。
2. 文本删除
  • 字符删除:x(删除光标所在字符)、X(删除光标前字符)。
  • 行删除:dd(删除当前行)、d0(删除至行首)、d$(删除至行尾)。
  • 范围删除:d+移动命令(如 dw 删除一个单词,d3j 向下删除3行)。
3. 复制与粘贴
  • 复制:yy(复制当前行)、y0(复制至行首)、y$(复制至行尾)、y+移动命令(如 yw 复制一个单词)。
  • 粘贴:p(在光标后粘贴)、P(在光标前粘贴)。
4. 文本替换
  • 单字符替换:r+新字符(如 ra 将光标字符替换为 a)。
  • 整行替换:S(删除当前行并进入插入模式)。
  • 全局替换:在底行模式输入 :%s/旧文本/新文本/g(如 :%s/foo/bar/g 替换所有 foo 为 bar)。
5. 撤销与重做
  • u:撤销上一步操作。
  • Ctrl + r:重做被撤销的操作。
6. 查找文本
  • 基础查找:在命令模式按 / 输入关键词(如 /error),按 n 跳至下一个匹配项,N 跳至上一个。
  • 忽略大小写:查找前输入 :set ignorecase 或简写 :set ic。
四、底行模式高级功能
  1. 行号控制

    :set nu:显示行号。

    :set nonu:隐藏行号。

  2. 分屏操作

    :sp 文件名:水平分屏编辑另一个文件。

    :vsp 文件名:垂直分屏编辑另一个文件。

    Ctrl + w + 方向键:切换分屏窗口。

  3. 批量注释

    命令模式按 Ctrl + v 进入可视块模式,选中多行后按 I 输入注释符号(如 #),再按 ESC 批量注释。

五、实用技巧
  • 重复操作:输入数字后接命令可重复操作(如 3dd 删除3行,10j 向下移动10行)。
  • 快速编辑:在底行模式输入 :e 文件名 可快速打开新文件,无需退出当前文件。
  • 恢复误删:若未保存退出,可通过 vim -r 文件名 恢复临时文件。

通过掌握上述模式切换与基础命令,可高效使用 vim 完成文本编辑任务。如需进一步学习,可在底行模式输入 :help 查看官方文档。