Warum vi und vim anbieten?


3

Ich glaube, ich habe Recht, wenn ich sage, dass RedHat und andere Distributionen sowohl vi als auch Vim bereitstellen .

Weiß jemand, was das Grundprinzip dahinter steckt, wenn vermutlich Vim die Funktionalität von vi abdeckt?

ETA: Es ist kein Symlink, sie sind verschiedene Binärdateien.

$ ls -lh /bin/vi
-rwxr-xr-x 1 root root 747K Jul  7  2012 /bin/vi
$ ls -lh /usr/bin/vim
-rwxr-xr-x 1 root root 1.9M Jul  7  2012 /usr/bin/vim

2
hat ein mögliches Duplikat in StackOverflow. Vielleicht beantwortet es Ihre Frage? stackoverflow.com/a/1159341
Lorenzo Von Matterhorn

2
Ist es wirklich vi? Ich kenne Ubuntu Symlinks sowohl / usr / bin / vi und / usr / bin / vim zu / etc / alternatives / vim. . .
Ernie

4
viist im POSIX-Standard.
LawrenceC

3
Jeder scheint die Tatsache zu ignorieren, dass das OP nicht nach dem Unterschied fragt , sondern "was die Begründung für die Bereitstellung von beidem ist". Mit anderen Worten, WARUM BEIDE?
Der Brasilianer

Antworten:


2

RedHat und seine Varianten / Klone bieten in der Regel ein / bin / vi, das im Wesentlichen mit Vim kompiliert ist und nur über ein Minimum an Funktionen und weniger Bibliotheksabhängigkeiten verfügt, sodass es mit größerer Wahrscheinlichkeit auch mit einem beschädigten Dateisystem ausgeführt werden kann. Es ist auch kleiner als eine "normale" oder "riesige" Version von Vim, was früher eine Überlegung war, auch wenn es jetzt nicht mehr so ​​wichtig ist.

Grundsätzlich handelt es sich dabei um einen "Fallback" für Benutzer und Administratoren, die einen Texteditor benötigen und mit vi zumindest minimal vertraut sind. Für diejenigen, die einen leistungsfähigeren Editor wünschen, müssen sie normalerweise ausdrücklich "vim-enhanced" installieren oder was auch immer ihre Distribution für ein "voll funktionsfähiges" Vim vorsieht.

Ich habe sogar kleinere Versionen von vioder vi-ähnlichen Editoren gesehen, die keine abgespeckten Vim sind, die einige der kompakten Distributionen verwenden. Busybox integriert eine.


0

Nein, du liegst falsch.

Redhat und alle anderen Distributionen bieten sowohl ein viund ein vim Befehle , aber sie sind keine separaten ausführbaren Dateien: viist nur ein symbolischer Link zu vim. Dies geschieht auf allen UNIXy-Systemen, da der viBefehl Teil des Standards ist und als solcher von einem System bereitgestellt werden muss, wenn es behauptet, UNIX-kompatibel zu sein.

Vermutlich entschieden sich die meisten Distributionen irgendwann für die Verwendung vimanstelle des Originals vi(aus mir unbekannten Gründen: Architekturkompatibilität? Moderne Funktionen? Andere?). Welches ist, warum Sie beide viund bekommen vim.


1
Ich stehe korrigiert da: Sie und ich liegen teilweise falsch. Debian-basierte Distributionen und Mac OS X haben Symlinks, aber Redhat scheint zwei Binärdateien zu haben. Ja, das klingt albern. Du solltest Redhat danach fragen.
Romainl

1
Ich stelle mir vor, es ist ein Fall von "Wenn es nicht kaputt geht ..." - Ich kann mir nicht vorstellen, dass es sie mehr als einen vernachlässigbaren Aufwand kostet, beides zu liefern. Unvorhergesehene Eckfälle könnten möglicherweise von einer Änderung betroffen sein.
Evilsoup

RHEL 6 bietet ein vim-minimal- Paket /bin/viund ein vim-enhanced- Paket /usr/bin/vim.
Cristian Ciupitu
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.