Vim是什么?Vim和vi有什么关系

你想了解 Vim 是什么,以及它和 vi 之间的关系,这是学习 Linux 命令行编辑文件的基础,我会用通俗的方式帮你讲清楚。

1. 先理解 Vi:老牌的终端文本编辑器

Vi(Visual Editor)是 Unix 系统诞生之初就存在的经典终端文本编辑器,也是所有类 Unix 系统(包括 Linux)默认内置的编辑器。

你可以把 Vi 理解成 "终端编辑界的老前辈",它的核心特点:

  • 纯命令行操作,没有图形界面,全靠快捷键;
  • 体积极小、运行极快,哪怕系统只剩核心功能,Vi 几乎都能使用;
  • 有两种核心模式:命令模式 (按快捷键执行操作,如删除、复制)和插入模式(输入文字);
  • 功能基础,满足最基本的文本编辑需求,但没有太多 "人性化" 的增强功能。

2. 再理解 Vim:Vi 的 "增强版超集"

Vim(Vi Improved,即 "改进版的 Vi")是在 Vi 的基础上开发的编辑器,完全兼容 Vi 的所有功能,同时新增了大量实用特性。

你可以把 Vim 理解成 "Vi 的升级版"------ 保留了 Vi 的所有操作逻辑,又加了很多 "黑科技":

  • 完全兼容 Vi:所有 Vi 的命令在 Vim 里都能正常用,会 Vi 就会 Vim 的基础操作;
  • 新增核心功能 :
    • 语法高亮(编辑代码时,不同关键字显示不同颜色);
    • 多级撤销(Vi 只能撤销一次,Vim 可以无限撤销);
    • 代码补全、折叠;
    • 分屏编辑(同时打开多个文件 / 编辑同一文件的不同部分);
    • 宏录制(重复执行一系列操作);
    • 插件系统(可以安装各种扩展,比如代码格式化、Git 集成等)。

3. Vi 和 Vim 的实际使用关系

在现代 Linux 系统中,你几乎见不到 "纯 Vi" 了,大部分系统里的 vi 命令其实是 Vim 的软链接(别名):

复制代码
# 查看系统中的 vi 指向哪里
ls -l /usr/bin/vi

输出通常是:/usr/bin/vi -> /usr/bin/vim,意思是你输入 vi 时,实际运行的是 Vim(只是以兼容模式启动)。

简单验证
  • 输入 vi 启动编辑器,底部会显示 VIM - Vi IMproved,说明是 Vim;
  • 输入 vim --version 可以查看 Vim 的版本和支持的功能(如语法高亮、多语言等)。

4. 核心使用场景

  • 快速编辑配置文件:比如 vim /etc/profile,用 Vim 编辑系统配置;
  • 服务器无图形界面编辑:远程登录服务器时,Vim 是最常用的代码 / 文本编辑器;
  • 高效编程:配合插件,Vim 可以变成功能强大的代码编辑器(很多程序员的主力编辑器)。

总结

  1. Vi 是基础的终端文本编辑器,是 Vim 的 "前身",仅提供核心编辑功能;
  2. Vim 是 Vi 的增强版(Vi Improved),完全兼容 Vi,新增了语法高亮、多级撤销、插件等大量实用功能;
  3. 现代 Linux 系统中,vi 命令通常指向 Vim,日常使用中 "用 vi" 和 "用 vim" 几乎等价,Vim 是实际的执行程序。
相关推荐
莫晓燚12 分钟前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
CQU_JIAKE1 小时前
10.30【A】
linux
Zevalin爱灰灰1 小时前
Linux入门第二部分(ARM裸机篇) 第一章 开发环境搭建与了解
linux·arm开发·嵌入式
LHICOD3 小时前
Linux-2
java·linux·后端·jar·vmware·svm·vm
余额瞒着我当琳3 小时前
Linux初识:Linux的历史,计算机的发展脉络,发行版本,选购云服务器,安装Xshell,第一次连接,基础命令指南
linux·运维·服务器
垆边人似月.3 小时前
RDMA 文件传输踩坑(四):从固定延时改造为 READY/ACK 协议
linux·服务器·网络
水饺编程3 小时前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
阿里云基础软件3 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
m0_743697594 小时前
DNS的反向域名的相关问题
linux
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶