我们知道,Vi 编辑器是 Unix 系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。

尽管 Vi 可能是世界上复杂的编辑器(讨厌它的人是这么认为的),但其拥有的大量特性使其成为 Unix 管理员多年来的支柱性工具。

在 GNU 项目中,程序员在将 Vi 编辑器移植到开源世界的同时,决定对其作一些改进。由于改进后的 Vi 不再是以前 Unix 中的那个原始的 Vi 编辑器了,开发人员也就将它重命名为“Vi improved”,也就是 Vim。

GNU 项目,英文全称为“GNU is Not Unix”,简单的说,就是一个开发类 Unix 操作系统的项目,GNU 操作系统是由 GNU 软件包及其第三方的免费软件包组成,所以其最大的特点就是免费。

因此可以这样说,Vim 是由 Vi 发展演变过程的文本编辑器,因其具有语法高亮显示、多视窗编辑、代码折叠、支持插件等功能,已成为众多 Linux 发行版本的标配,本教程强烈建议大家系统地学习 Vim。

有读者可能会问,Linux 系统中的文本编辑器有很多,例如 emacs、pico、nano、joe 等等,为什么一定要学 Vim 呢?

推荐使用 Vim 文本编辑器的原因有很多,比如说:

  • 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
  • 在使用 Linux 系统过程中,很多软件的编辑接口都会默认调用 Vim 文件编辑器,例如 crontab、Visudo、edquota等命令;
  • Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计;
  • 使用 Vim 文本编辑器,编辑速度会更快。

所有原因中,最主要的还是第 2 条,就是因为有太多 Linux 命令会默认调用 Vim 作为编辑数据的接口,所以建议初学者学会 Vim。

5.2 Vi和Vim之间到底有什么关系?的更多相关文章

  1. Zend与PHP之间到底是什么关系

    Zend与PHP之间是什么关系 What is Zend's relationship with PHP? 每次看到PHP虚拟机中出现zend.zendvar之类的都很困惑,特意查了一下... PHP ...

  2. 屏幕尺寸,分辨率,像素,PPI之间到底什么关系?

    转载自:http://www.jianshu.com/p/c3387bcc4f6e 感谢博主的无私分享. 今天我给大家来讲讲这几个咱们经常打交道的词到底啥意思,以及他们之间到底有什么关系.这篇文章是我 ...

  3. 我的Android进阶之旅------>(全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系?

    作者:马忠信,作者授权早读课发表,转载请联系作者. 原文链接:http://www.jianshu.com/p/c3387bcc4f6e#  互联网早读课:http://zaodula.com/arc ...

  4. (全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系?

    (全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系? 产品经理马忠信关注 22015.08.30 13:59:20字数 2,660阅读 52,661 今天我给大家来讲讲这几个咱们经常打交道的词到 ...

  5. Shell命令-文件及内容处理之vi、vim

    文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...

  6. Linux 笔记 - 第七章 Vi 和 Vim 编辑器

    博客地址:http://www.moonxy.com 一.前言 Vi 与 Vim 都是多模式编辑器,是 Linux 中必不可少的工具.不同的是 Vim 是 Vi 的升级版本,它不仅兼容 Vi 的所有命 ...

  7. linux学习(二)-----Linux 的目录结构、远程登录、vi和vim

    linux目录结构 基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此 目录下再创建其他的目录. 目录结构具体介绍 Linux 目录总结 1.lin ...

  8. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  9. VI和VIM

    linux下vi.VIM命令大全   进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + file ...

  10. Linux实操篇 vi和vim编辑器

    vi和vim的基本介绍 所有的Linux系统都会内建vi文本编辑器. vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计.代码补完.编译及错误跳转等 ...

随机推荐

  1. SMU Autumn 2023 Round 3(Div.1)

    SMU Autumn 2023 Round 3(Div.1) A. Find The Array 要满足"b数组内任意一个元素满足可以被数组两边的元素整除"这个条件,我们很容易想到 ...

  2. Linux程序之可变参数&&选项那些事!

    一.linux应用程序如何接收参数? 1. argc.argv Linux应用程序执行时,我们往往通过命令行带入参数给程序,比如 ls /dev/ -l 其中参数 /dev/ .-l都是作为参数传递给 ...

  3. 3. 从0开始学ARM-ARM模式、寄存器、流水线

    关于ARM的一些基本概念,大家可以参考我之前的文章: <到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普]> 关于ARM指令用到的IDE开发 ...

  4. 【工程应用十一】基于PatchMatch算法的图像修复研究(inpaint)。

      这个东西是个非常古老的算法了,大概是2008年的东西,参考资料也有很多,不过基本上都是重复的.最近受一个朋友的需求,前后大概用了二十多天时间去研究,也有所成果,在这里简单的予以记录.    图像修 ...

  5. Web 国际化:新增越南语语系(vue i18n)

    前提: 1. 在src/locales文件夹中,新增vi.json文件 背景: 1. vue 步骤: 1. 在main.js中, import VueI18n from 'vue-i18n' Vue. ...

  6. (八)Redis 主从复制、切片集群

    一.主从复制 1.主从关系 都说的 Redis 具有高可靠性,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断.AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是将一份数据同时保 ...

  7. c程序设计语言 by K&R(四)输入与输出

    一.标准输入.输出 1. 简单的输入\输出机制 从标准输入中一次读取一个字符:int getchar(void) 将字符c送到标准输出中: int putchar(int) 2. 输入重定向 如果程序 ...

  8. 通过C#在Word中插入或删除分节符

    在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距.纸张方向.页眉和页脚等.正确使用分节符可以极大地提升文档的组织性和专业性,特别是在长文档中,需要 ...

  9. iOS 屏幕旋转的实践解析

    ​ 摘要:如何更灵活便捷的实现自定义屏幕旋转场景,本文带你揭秘! 文|即构 iOS 应用开发团队 屏幕旋转是在视频直播类 APP 中常见的场景,在即构科技之前发布的 Roomkit SDK 中也有屏幕 ...

  10. DOM – Web Animation API

    前言 以前写过相关的文章 angular2 学习笔记 ( animation 动画 ).但在项目种很少用到 Web Animation. 体会不到它的精髓,目前的感觉是,它对比 CSS Animati ...