一文搞懂 Vim 编辑器:模式切换、常用命令与进阶技巧全解析

关键词:Vim、Linux文本编辑器 、命令模式、 插入模式、 正则替换、 批量注释
适用人群:Linux 系统运维人员、Shell /Python / C 开发者


在 Linux 系统中,Vim(Vi Improved) 是一款强大且高效的文本编辑器,被广泛应用于系统运维、Shell 脚本开发、配置文件编辑等场景。

相较于传统的 Vi,Vim 拥有更强的功能、更丰富的插件系统和更友好的交互体验,其特点如下:

  • 轻量、快速、无依赖图形界面;
  • 支持语法高亮、自动缩进;
  • 支持多文件、多窗口编辑;
  • 拥有强大的查找与替换功能;
  • 可通过插件系统实现无限扩展。

本文将从 安装检测 → 模式切换 → 常用命令 → 编辑实例 → 常见问题 → 进阶技巧 等方面,带你系统掌握 Vim 的核心使用方法。


一、安装与版本查看

大多数 Linux 发行版默认已安装 Vim,可通过以下命令确认:

vim --version

输出示例:

VIM - IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57)
Included patches: 1-1763
Compiled by OpenAnolis Community
Huge version without GUI.  Features included (+) or not (-):
+acl +mouse_sgr -tag_any_white ...

若系统未安装,可使用包管理器安装:

操作系统安装命令
CentOS / Alibaba Cloud Linuxsudo yum install vim -y
Ubuntu / Debiansudo apt install vim -y
openSUSEsudo zypper install vim
Fedorasudo dnf install vim

二、Vim 的五种模式与切换关系

Vim 的核心思想是“模式编辑”,不同模式承担不同的功能。

模式英文名功能描述进入方式退出方式
普通模式Normal Mode浏览、复制、删除、粘贴等打开文件默认进入Esc
插入模式Insert Mode输入或修改文本iaoEsc
替换模式Replace Mode替换已有字符REsc
可视模式Visual Mode块选中操作(复制、注释等)vEsc
命令模式Command Mode执行保存、退出、查找等命令:回车执行命令后自动返回普通模式

在这里插入图片描述

当 Vim 左下角显示 -- INSERT ---- VISUAL -- 时,即表明当前处于对应模式。


三、常用基础操作命令汇总

1. 打开与切换文件

  • vim filename:打开单个文件。进入普通模式,如果文件不存在,Vim会新建一个文件。

  • vim filename1 filename2: 打开多个文件。

    • 默认进入第一个filename1,正常编辑并使用 :w 保存filename1后,输入:bn进入下一个filename2,正常编辑并使用 :w 保存filename2。
    • 输入 :bp 进入前一个filename1。
    • 输入:ls 可以查看编辑列表。
  • :open filename3:在Vim的命令模式下打开一个新的文件进行编辑。执行该命令前,请先使用 :w 保存原编辑文件。


2. 光标移动(普通模式)

操作按键
上移k 或 ↑
下移j 或 ↓
左移h 或 ←
右移l 或 →

在插入模式下, 只能通过上、下、左、右方向键移动光标。


3. 插入内容

在普通模式下,按i,I,a,A,o,O中任一字符即可进入插入模式。

命令功能
i当前字符左侧插入
I行首插入
a当前字符右侧插入
A行尾插入
o当前行下方新建一行
O当前行上方新建一行

4. 复制粘贴

类似于Word文档编辑器里Ctrl+C和Ctrl+V。在普通模式下:

  • yy:复制光标所在的行内容。可以直接使用p进行粘贴。
  • nyy:n为数字。例如2yy,复制光标所在行和下一行内容,即复制2行。
  • p:粘贴到光标所在的下一行。
  • P:粘贴到光标所在的上一行。

5. 删除

  • 在普通模式下
    • 删除单个字符:按键盘 x 键删除当前光标所在位置的字符。
    • 删除整行:按键盘 dd 删除当前行。类似于Word文档编辑器里Ctrl+X,可以直接使用 p 进行粘贴。
    • 删除上一行:按键盘 dk 删除当前行和上一行。
    • 删除下一行:按键盘 dj 删除当前行和下一行。
    • dG:按键盘 dG 删除当前行至文档末尾。
    • nxn为数字。删除光标高亮的字符及其后面的n-1个字符。
    • nddn为数字。删除光标所在行及其下面的 n-1 行。类似于Word文档编辑器里Ctrl+X,可以直接使用p进行粘贴。
  • 在插入模式下
    • 将光标移动到想要删除内容的右侧,键入Delete键。

6. 查询
在普通模式下

  • /text:查询 text,默认精确匹配,回车后高亮显示命中字符。
    • 如果要忽略大小写进行查询,先执行:set ignorecase。执行:set noignorecase返回精确匹配。
  • n:光标向下查询或下一个。
  • N:光标向上查询或上一个。

7. 替换

  • 在普通模式下
    • r:直接替换光标高亮的字符。
    • R:进入替换模式,连续替换光标高亮的字符,直至按下Esc键退出替换模式。
    • cc:直接删除光标所在的行,并进入插入模式。
    • :%s/oldtext/newtext/g:查询所有oldtext并替换为newtext。/g表示全部替换,若不加,则只替换所有行的第一个匹配。
  • 在插入模式下
    • 通过删除内容、插入内容的方式进行内容替换。

8. 撤销与重做
在普通模式下

  • u:撤销插入或修改。类似于Word文档编辑器里的Ctrl+Z
  • U:撤销对上一次行内容的所有插入和修改。
  • Ctrl+r:重做,即恢复撤销。相当于Word文档编辑器里的重做Ctrl+Y

9. 缩进与排版

  • 在普通模式下
    • >>:整行向右缩进。默认值为8,即默认缩进一个制表符(Tab)的空格数。
    • <<:整行向左缩进。
  • 在命令模式下
    • :ce:整行居中对齐。
    • :le:整行向左对齐。
    • :ri:整行向右对齐。

10. 注释代码

  • 在可视模式下
    • 注释连续多行代码
      • 上下移动光标选中待注释的行。
      • : 进入命令行模式,此时会自动填充 :'<,'>,表示对选中的范围进行操作。
      • 输入替换命令,例如要在每行前添加 #,输入 s/^/#/ 然后按 Enter
    • 注释所有代码:输入替换命令:%s/^/#/g,全文使用#进行注释。
  • 在插入模式下
    • 手动插入注释符号的方式注释代码。

11. 保存与退出

  • 保存文件:在普通模式下输入 :w并按下回车键。
  • 退出 Vim:输入 :q 并按下回车键。
  • 保存并退出:输入 :wq:x 并按下回车键,或直接使用ZZ 命令。
  • 强制退出不保存:输入 :q! 并按下回车键。
  • 强制退出并保存:输入 :wq!并按下回车键。

四、常见问题与解决方案

问题原因解决方案
No write since last change文件已修改未保存使用 :wq 保存退出
无法输入文字处于可视模式Esc 返回普通模式
保存失败权限不足使用 sudo vim filename:w !sudo tee %
存在 .swp 文件文件被其他 Vim 占用使用 :recover 或删除 .swp 文件

五、Vim 升级方法

CentOS / Alibaba Cloud Linux

sudo yum update vim

Ubuntu / Debian

sudo apt upgrade vim

总结

Vim 的强大不仅体现在命令多,而是它的“高效与极简”。
掌握五种模式的切换、熟悉常用命令,再配合正则、宏与插件,就能真正发挥 Vim 的生产力潜能。

建议:

  • 初学者先熟悉 插入-编辑-保存-退出 流程;
  • 进阶用户可深入学习宏录制、多窗口操作与自定义快捷键配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值