Was ist der Unterschied zwischen Vi und Vim?

178

Ich würde es begrüßen, wenn jemand einen Neuling wissen lassen kann, was die Unterschiede zwischen viund sind vim. Ich habe gehört, dass Vim ein Nachfolger von ist, viaber wenn ich versuche, es viin Ubuntu zu öffnen, wird es vimstattdessen geöffnet .

Ethylen
quelle

Antworten:

169

Funktionell ist vim fast eine richtige Obermenge von vi . Daher ist alles, was in vi enthalten ist, in vim verfügbar.

Vim ergänzt diese Funktionen. Hier sind einige der erweiterten vim-Funktionen:

  • Vim wurde auf eine viel größere Anzahl von Betriebssystemen portiert als vi.
  • Vim bietet Unterstützung (Syntaxhervorhebung, Code-Faltung usw.) für mehrere gängige Programmiersprachen (C / C ++, Python, Perl, Shell usw.).
  • Vim lässt sich in cscope integrieren.
  • Mit Vim können Dateien mit Netzwerkprotokollen wie SSH und HTTP bearbeitet werden.
  • Vim enthält Mehrebenen-Undo / Redo.
  • Mit Vim kann der Bildschirm zum Bearbeiten mehrerer Dateien geteilt werden.
  • Vim kann Dateien in einem komprimierten Archiv bearbeiten (gzip, zip, tar usw.).
  • Vim enthält ein eingebautes Diff zum Vergleichen von Dateien (vimdiff).
  • Vim bietet Unterstützung für Plugins und eine genauere Kontrolle über Konfigurations- und Startdateien.
  • Vim kann mit Vimscript oder mit einer externen Skriptsprache (z. B. Python, Perl, Shell) erstellt werden.

Es gibt viel mehr Unterschiede. Im Folgenden finden Sie einige Quellen, an denen Sie mehr herausfinden können.

Quelle: Vim.Org , Vim auf Wikpedia .

Ich hoffe es hilft! :)

AzkerM
quelle
65

"vi" ist ein Texteditor aus den Anfängen von Unix. Es wurde sehr populär und fand seinen Weg in die Single Unix Specification (SUS) und POSIX, war aber erst 2002 frei verfügbar.

So entstanden mehrere kostenlose vi-ähnliche Editoren. Vim ("vi enhanced") ist einer dieser Editoren. Wie der Name schon sagt, werden der ursprünglichen vi-Oberfläche viele Funktionen hinzugefügt.

In Ubuntu ist Vim der einzige vi-ähnliche Editor, der standardmäßig installiert ist, und vistartet Vim standardmäßig.

Andere beliebte vi-ähnliche Editoren, die in Ubuntu verfügbar sind, sind zum Beispiel nviund elvis.

Florian Diesch
quelle
4
In Ubuntu Vim is the only vi-like editor installed by default- Xubuntu hier: vim: command not found. Nur viist verfügbar.
Blauhirn
7
@Blauhirn Um fair zu sein, technisch gesehen ist Xubuntu kein Ubuntu.
Captain Man
8
@Blauhirn Und das viläuft vim.tiny.
muru
2
+1 für die Beantwortung der Frage, warum vi stattdessen vim öffnet. das ist es, was das OP eigentlich fragt.
MycrofD
3

vi editor ist der beliebteste Texteditor unter Linux. Wir können sagen, dass es einen einfachen Schwarz-Weiß-Bildschirm hat, dh wenn Sie einen Befehl eingeben, gibt es keine Code-Hervorhebung. Da vim eine verbesserte Version von VI ist, hat es auch die gleichen Funktionen wie vi, aber es hat auch eine Code-Hervorhebung.

Beide haben diese 4 Grundmodi:

  1. Schreibmodus
  2. Befehlsmodus
  3. Visueller Modus
  4. Escape-Modus
kiran kumar reddy
quelle
3
Ich bin mir ziemlich sicher, dass der ursprüngliche vi nicht Vims visuellen Modus hat.
muru
1

Es gibt in der Tat einen großen Unterschied zwischen ihnen. Ich benutze sowohl nvi als auch vim täglich. Keiner von ihnen ist perfekt, aber sie sind immer noch besser als alles andere da draußen.

Vim hat mehr von allem. Zusätzlich zum Syntax-Hilighting (wenn es mit einer Unterstützung dafür kompiliert wurde) werden Zeichensätze, Zeilenenden und dergleichen automatisch konvertiert. Es gibt mehrere Möglichkeiten, Zeilen zu nummerieren, was sehr praktisch ist. Vim hat sicherlich eine Menge, die dafür spricht.

Leider bricht vim die vi-Philosophie, indem es die Editor-Modi mischt und eine Vielzahl nutzloser und redundanter Funktionen einführt. Sicher ist es am Anfang praktisch, dass Sie sich zum Beispiel mit den Cursortasten im Einfügemodus bewegen können, aber es hat auch einige wirklich seltsame unerwünschte Nebenwirkungen (zum Beispiel, das wird schrullig und unvorhersehbar).

Vim (obwohl IMproved, wie es behauptet) ist auch eine aufgeblähte, seltsame und inkonsistente Mischung aus einem kaputten vi und einem modellosen Editor. : P

Ich liebe es trotzdem. Und Sie können das meiste davon beheben, indem Sie Ihre Konfiguration optimieren. D

gen
quelle
11
Zu "Sicher ist es zunächst praktisch, dass Sie sich mit den Cursortasten im Einfügemodus bewegen können" Das ist heutzutage der allgemeine Zweck der Cursortasten! Wir sind nicht in den 80er Jahren mehr und drücken nach unten Pfeil sollte den Cursor nach unten und nicht setzen einige ^BAd - Zeichen auf dem Bildschirm und es Piepton machen.
PerlDuck
0

Die Vim-FAQ enthält eine gut formatierte Liste: https://vimhelp.org/vim_faq.txt.html#faq-1.4

Auszug aus der FAQ:

  • Mehrstufiges Rückgängigmachen
  • Registerkarten, mehrere Fenster und Puffer
  • Flexibler Einfügemodus (kann Pfeiltasten im Einfügemodus verwenden)
  • Makros
  • Visueller Modus (visuelle Auswahl von Textabschnitten)
  • Blockieren von Operatoren
  • Online-Hilfesystem
  • Befehlszeilenbearbeitung und Verlauf
  • Vervollständigung der Befehlszeile (Vervollständigung der Registerkarte)
  • Horizontales Scrollen (lange Linien)
  • Verbesserungen bei Unicode und Internationalisierung.
weises Glück
quelle