Qual è la relazione tra vi, nvi e vim?


18

Su alcuni unix qualche volta ho trovato un comando chiamato nvi. Era un editor simile a vi, senza gran parte delle sue funzionalità. Forse era una forchetta del vecchio vi?

In ogni caso, quali viversioni sono un fork delle altre e quali sono sviluppi indipendenti? Hanno un "albero genealogico", simile agli unix?

Risposte:


24

Da nvi(1):

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

Alcuni retroscena, dalla memoria, quindi spero che i dettagli siano corretti:

All'inizio, UNIX era gratuito. Tutti potevano richiederne una copia a Ken e lui ti avrebbe inviato un nastro con la fonte (presumibilmente con il testo "amore, Ken" su di loro). I termini "software libero" o "open source" non esistevano ancora, ma a tutti gli effetti era "open source".

La ragione di ciò fu perché UNIX fu sviluppato nei laboratori Bell. I laboratori Bell fanno parte di AT&T che, all'epoca, aveva un efficace monopolio sulla telefonia. Nell'ambito di un accordo con il governo degli Stati Uniti, è stato convenuto che AT&T non poteva entrare in altri settori di attività (come i computer).

Da qualche parte questo è cambiato e UNIX è diventato un software proprietario. Di conseguenza, anche BSD (che deriva da UNIX) è diventato software proprietario. viè stato scritto come parte di BSD, quindi è diventato anche proprietario.

Questo è il motivo per cui tra la fine degli anni '80 e l'inizio degli anni '90 sono apparsi alcuni "cloni vi", come stevie(più tardi la base per vim) e nvi.

All'inizio degli anni '90, la gente voleva un sistema BSD gratuito, quindi è nvistato creato per 4.4BSD-lite (significato lite, non gravato dal codice AT&T), quindi è nvistato creato come sostituto "bug-for-bug compatibile" per gli ingombri vi. Ha tutte le vifunzionalità, ma non le funzionalità più avanzate che potresti trovare vim.

FreeBSD e NetBSD discendono entrambi da 4.4BSD-Lite (e OpenBSD e DragonflyBSD discendono rispettivamente da NetBSD e FreeBSD), motivo per cui vengono forniti con l' nviinstallazione predefinita.

A differenza di Linux, i sistemi BSD hanno un unico sistema "base" di cui nvifa parte, quindi ci sono davvero 4+ versioni di nvi. Ma in realtà i cambiamenti sono piccoli o inesistenti, i progetti BSD si scambiano codice, quindi la maggior parte delle correzioni di bug e miglioramenti sono condivisi (ma forse non tutti?). Credo che FreeBSD abbia aggiunto il supporto multibyte qualche anno fa, per esempio.

La vimstoria è più noiosa: Bram correva su Amiga, voleva correre vi, ma non riusciva a trovare un viAmiga. Quindi prese il steviecodice, lo portò su Amiga e continuò a migliorarlo ulteriormente. Questo è il motivo per cui puoi ancora trovare molte note relative ad Amiga nei documenti anche oggi.

Nel frattempo, UNIX è di nuovo "gratuito" e puoi eseguire l' originalevi .


1
Wikipedia afferma che nvi è basato su elvis, fornito con l'originale 386BSD, ed è stato uno sforzo per realizzare una versione più puramente compatibile con vi. È corretto?
Casuale 832,

2

Le radici degli alberi genealogici dei cloni di vi sembrano essere:

  • 1977: "Traditional vi", la fonte originale di Bill Joy, trasferita e utilizzata gratuitamente dal 2002.
  • 1985: microEmac, da cui è stato sviluppato il vile "vile"
  • 1987: stevie, da cui sono stati sviluppati vim e xvi
  • 1990: elvis, da cui è stato sviluppato nvi
  • 2000: "tiny vi" di busybox
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.