Welche Beziehung besteht zwischen vi, nvi und vim?


18

Unter einigen Unixen habe ich irgendwann einen Befehl namens gefunden nvi. Es war ein vi-ähnlicher Editor ohne viel Funktionalität. Vielleicht war es eine Gabel der alten vi?

Wie auch immer, welche viVersionen sind eine Gabelung der anderen und welche sind eigenständige Entwicklungen? Haben sie einen "Stammbaum", ähnlich den Unixen?

Antworten:


24

Von nvi(1):

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

Einige Hintergrundinformationen aus der Erinnerung, daher hoffe ich, dass die Details stimmen:

Am Anfang war UNIX kostenlos. Jeder könnte eine Kopie von Ken anfordern und er würde dir ein Band mit der Quelle schicken (angeblich mit dem Text "love, Ken" darauf). Die Begriffe "freie Software" oder "Open Source" gab es noch nicht, aber in jeder Hinsicht war es "Open Source".

Der Grund dafür war, dass UNIX in Bell Labs entwickelt wurde. Bell Labs ist Teil von AT & T, das zu dieser Zeit ein effektives Telefonmonopol hatte. Im Rahmen einer Vereinbarung mit der US-Regierung wurde vereinbart, dass AT & T keinen Zugang zu anderen Geschäftsbereichen (z. B. Computern) erhalten darf.

Irgendwann änderte sich dies und UNIX wurde proprietäre Software. Infolgedessen wurde BSD (das von UNIX stammt) auch proprietäre Software. viwurde als Teil von BSD geschrieben, wurde also auch proprietär.

Aus diesem Grund erschienen in den späten 80ern bis frühen 90ern einige "vi-Klone", wie stevie(später die Basis für vim) und nvi.

In den frühen 90er Jahren wollten die Leute ein freies BSD-System, daher nviwurde es für 4.4BSD-lite (lite bedeutet, nicht mit AT & T-Code belastet) nvierstellt und als "Bug-for-Bug-kompatibler" Ersatz für die belasteten vi. Es verfügt über alle viFunktionen, jedoch nicht über die erweiterten Funktionen, die Sie möglicherweise in finden vim.

FreeBSD und NetBSD stammen beide von 4.4BSD-Lite ab (und OpenBSD und DragonflyBSD stammen von NetBSD bzw. FreeBSD ab), weshalb sie nvistandardmäßig installiert sind.

Im Gegensatz zu Linux haben BSD-Systeme nur ein einziges "Basissystem", von dem nvies also wirklich 4+ Versionen gibt nvi. In Wirklichkeit sind die Änderungen jedoch nur geringfügig bis gar nicht vorhanden. Die BSD-Projekte tauschen Code aus, sodass die meisten Bugfixes und Verbesserungen gemeinsam genutzt werden (aber vielleicht nicht alle?). Ich glaube, FreeBSD hat zum Beispiel vor einigen Jahren Multibyte-Unterstützung hinzugefügt.

Die vimGeschichte ist langweiliger: Bram lief auf Amiga, wollte rennen vi, konnte aber keinen vifür Amiga finden. Also nahm er den stevieCode, portierte ihn auf Amiga und verbesserte ihn weiter. Aus diesem Grund finden Sie auch heute noch viele Amiga-bezogene Hinweise in den Dokumenten.

In der Zwischenzeit ist UNIX wieder "frei" und Sie können originalvi laufen .


1
Wikipedia behauptet, dass nvi auf elvis basiert, das mit dem ursprünglichen 386BSD ausgeliefert wurde, und versucht hat, eine rein vi-kompatible Version zu erstellen. Ist das richtig?
Random832

2

Die Wurzeln der Stammbäume von vi-Klonen scheinen zu sein:

  • 1977: "Traditional vi", Bill Joys Originalquelle, portiert und seit 2002 kostenlos nutzbar.
  • 1985: microEmacs, aus dem der vi-alike "vile" entwickelt wurde
  • 1987: Stevie, aus dem vim und xvi entwickelt wurden
  • 1990: elvis, aus dem nvi entwickelt wurde
  • 2000: busybox's "winziger vi"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.