¿Cuál es la relación entre vi, nvi y vim?


18

En algunos Unix, en algún momento encontré un comando llamado nvi. Era un editor tipo vi, sin mucha de su funcionalidad. Tal vez fue un tenedor de lo viejo vi?

De todos modos, ¿qué viversiones son una bifurcación de las otras y cuáles son desarrollos independientes? ¿Tienen un "árbol genealógico", similar a los unixes?

Respuestas:


24

De nvi(1):

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

Algunos antecedentes, de memoria, así que espero tener los detalles correctos:

Al principio, UNIX era gratis. Todos podrían solicitar una copia de Ken, y él te enviaría una cinta con la fuente (supuestamente con el texto "amor, Ken" en ellos). Los términos "software libre" o "código abierto" aún no existían, pero para todos los efectos era "código abierto".

La razón de esto fue porque UNIX se desarrolló en los laboratorios Bell. Los laboratorios Bell son parte de AT&T que, en ese momento, tenía un monopolio efectivo sobre telefonía. Como parte de un acuerdo con el gobierno de los EE. UU., Se acordó que AT&T no podía ingresar a otros campos de negocios (como las computadoras).

En algún momento, esto cambió, y UNIX se convirtió en software propietario. Como resultado, BSD (que proviene de UNIX) también se convirtió en software propietario. vifue escrito como parte de BSD, por lo que también se convirtió en propiedad.

Esta es la razón por la cual a finales de los 80 y principios de los 90 aparecieron algunos "clones vi", como stevie(más tarde la base para vim) y nvi.

A principios de los años 90, la gente quería un sistema BSD gratuito, por lo que nvise creó para 4.4BSD-lite (es decir, no está gravado por el código de AT&T), por lo que nvise creó como un reemplazo "compatible con error por error" vi. Tiene todas las vicaracterísticas, pero no las características más avanzadas que pueda encontrar vim.

FreeBSD y NetBSD descienden de 4.4BSD-Lite (y OpenBSD y DragonflyBSD descienden de NetBSD y FreeBSD, respectivamente), por lo que se envían nviinstalados de forma predeterminada.

A diferencia de Linux, los sistemas BSD tienen un solo sistema "base" del cual nviforma parte, por lo que hay realmente más de 4 versiones nvi. Pero en realidad los cambios son pequeños o inexistentes, el código de intercambio de proyectos de BSD, por lo que la mayoría de las correcciones de errores y mejoras se comparten (¿pero quizás no todas?). Creo que FreeBSD agregó soporte multibyte hace unos años, por ejemplo.

La vimhistoria es más aburrida: Bram estaba corriendo en Amiga, quería correr vi, pero no pudo encontrar uno vipara Amiga. Así que tomó el steviecódigo, lo transfirió a Amiga y continuó mejorándolo aún más. Es por eso que aún puede encontrar muchas notas relacionadas con Amiga en los documentos incluso hoy.

Mientras tanto, UNIX es "gratis" una vez más, y puede ejecutar originalvi .


1
Wikipedia afirma que nvi se basa en elvis que se envió con el 386BSD original, y fue un esfuerzo para hacer una versión más puramente compatible con vi. ¿Es esto correcto?
Random832

2

Las raíces de los árboles genealógicos de los clones vi parecen ser:

  • 1977: "Traditional vi", fuente original de Bill Joy, portada y de uso gratuito desde 2002.
  • 1985: microEmacs, a partir del cual se desarrolló el vil "vile"
  • 1987: stevie, a partir del cual se desarrollaron vim y xvi
  • 1990: elvis, a partir del cual se desarrolló nvi
  • 2000: el "pequeño vi" de busybox
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.