vi,nvi和vim之间是什么关系?


18

有时在某些Unix上,我找到了一个名为的命令nvi。它是一个类似vi的编辑器,没有很多功能。也许那是旧的叉子vi

无论如何,哪些vi版本是其他版本的分支,哪些是独立开发的?他们是否有类似于Unix的“家谱”?

Answers:


24

来自nvi(1)

HISTORY
    The ex editor first appeared in 1BSD.  The nex/nvi replacements for the
    ex/vi editor first appeared in 4.4BSD.

来自内存的一些背景,所以我希望细节正确:

最初,UNIX是免费的。每个人都可以向Ken索要一份副本,他会向您发送一盘带有源的磁带(可能上面带有“ love,Ken”文字)。术语“自由软件”或“开放源代码”尚不存在,但就所有意图和目的而言,它都是“开放源代码”。

这样做的原因是因为UNIX是在Bell实验室开发的。贝尔实验室是AT&T的一部分,当时AT&T在电话领域拥有有效的垄断地位。作为与美国政府达成协议的一部分,与会者一致认为,AT&T是不是 允许进入的企业等多个领域(如计算机)。

在此变化的过程中,UNIX成为专有软件。结果,BSD(源自UNIX)成为专有软件。vi是作为BSD的一部分编写的,因此也成为专有的。

这就是为什么在80年代末至90年代初出现了一些“ vi克隆”的原因,例如stevie(后来的vim)和nvi

在90年代初期,人们想要一个免费的BSD系统,因此它nvi是为4.4BSD-lite创建的(意思是精简,不受AT&T代码的束缚),因此nvi被创建为“ Bug-for-bug兼容”替代vi。它具有所有vi功能,但没有您可能会在中找到的更高级的功能vim

FreeBSD和NetBSD都来自4.4BSD-Lite(而OpenBSD和DragonflyBSD分别来自NetBSD和FreeBSD),这就是它们nvi默认情况下随安装提供的原因 。

不同的Linux,BSD系统有一个“基本”系统,其中nvi的一部分,所以有真正的4+版本nvi。但是实际上,更改很小甚至不存在,BSD项目交换代码,因此可以共享大多数错误修正和增强功能(但可能不是全部?)。例如,我相信FreeBSD在几年前增加了多字节支持。

vim故事是更无聊:布拉姆是在Amiga上运行,想跑vi,却找不到一个vi为Amiga的。因此,他接受了stevie代码,将其移植到Amiga,并继续进行进一步的改进。这就是为什么即使在今天,您仍然可以在文档中找到许多与Amiga相关的注释的原因。

同时,UNIX再次“免费”,您可以运行 originalvi


1
维基百科声称nvi是基于Elvis的,该猫王是原始386BSD附带的,并且是为了制作更纯粹的vi兼容版本。它是否正确?
Random832

2

vi克隆的家谱的根似乎是:

  • 1977年:比尔·乔伊(Bill Joy)的原始作品“ Traditional vi”,从2002年开始移植并免费使用。
  • 1985年:microEmacs,从中开发出类似vi的“ vile”
  • 1987年:Stevie,从中开发了vim和xvi
  • 1990年:猫王,开发了nvi
  • 2000年:busybox的“ tiny vi”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.