EMACS vs. Vim

EMACS vs. Vim

EMACs Und Vim sind die beiden am häufigsten verwendeten Textredakteure auf UNIX- und UNIX-ähnlichen Systemen. Es gibt eine lange Geschichte des Wettbewerbs zwischen diesen beiden Textredakteuren, die weitaus fortgeschrittener sind als andere Textredakteure auf der UNIX -Plattform. Während beide Redakteure über ähnliche Funktionen über ihre Plugins, Skript- und Verknüpfungsschlüsse verfügen, sind ihre Ansätze leicht unterschiedlich.

Vergleichstabelle

Unterschiede - Ähnlichkeiten - EMACs gegen VIM -Vergleichstabelle
EMACsVim
  • Die aktuelle Bewertung beträgt 4.04/5
  • 1
  • 2
  • 3
  • 4
  • 5
(167 Bewertungen)
  • Die aktuelle Bewertung beträgt 4.21/5
  • 1
  • 2
  • 3
  • 4
  • 5
(210 Bewertungen)
Vorschau -Version 23 7.2a.13 (2008-07-04)
Geschrieben in C und Emacs Lisp C- und VIM -Skript
Plattform Plattformübergreifende, einschließlich Unix, Linux und Microsoft Windows Plattformübergreifende, einschließlich Unix, Linux und Microsoft Windows
Verfügbar in Englisch, Chinesisch, Französisch, Italienisch, Polnisch, Russisch Englisch, Chinesisch, Französisch, Italienisch, Polnisch, Russisch
Typ Texteditor Texteditor
Lizenz Gnu gpl Kostenlose Software, Charityware, GPL kompatibel
Webseite http: // www.Gnu.org/software/emacs/ http: // www.Vim.org/
Einführung (aus Wikipedia) EMACS ist eine Klasse von featurzenreichen Texteditoren, die normalerweise durch ihre Erweiterbarkeit gekennzeichnet sind. EMACS hat über 1.000 Bearbeitungsbefehle. Der Benutzer kann diese Befehle auch in Makros kombinieren, um die Arbeit zu automatisieren. Vim ist ein Texteditor, der 1991 von Bram Moolenaar für den Amiga -Computer veröffentlicht wurde. Der Name "Vim" ist ein Akronym für "VI EXTROVEDED", da VIM als erweiterte Version des VI -Editors erstellt wurde, wobei viele zusätzliche Funktionen als hilfreich ausgelegt sind
Design von Richard Stallman Bram Moolenaar
Erstveröffentlichung 1976 1991
Stabile Version 22.3 (2008-09-05) 7.2 (2008-08-09)
Puffer Tabs Unterstützt sowohl in der Befehlszeile als auch in der grafischen Benutzeroberfläche Unterstützt sowohl in der Befehlszeile als auch in der grafischen Benutzeroberfläche

EMACS- und VIM -Benutzeroberflächen

Vim verwendet Bearbeitungsmodi - am häufigsten die Befehlsmodus Und Modus einfügen. VIM zielt darauf ab, die Anzahl der Tastenanschläge zu minimieren, die ein Benutzer drücken muss, da VI, auf dem Vim basiert, so ausgelegt war, dass sie über langsame Klemmen verwendet werden.

EMACS verwendet Modifikator -Schlüssel, um Verknüpfungen zu ermöglichen, bei denen häufig mehrere Schlüssel gleichzeitig für eine einzelne Funktion gedrückt werden. Dieser Aspekt von EMACs wird oft kritisiert.

Lernen des Lernens

EMACS ist einfacher zu lernen, da es über eine natürlichere Schnittstelle verfügt (für Benutzer, die mit GUI-basierten Texteditoren vertraut sind). Da Vim unterschiedliche Bearbeitungsmodi hat, finden es Anfänger etwas schwieriger zu lernen.

Produktivität und Bearbeitungsgeschwindigkeit

Vim -Enthusiasten argumentieren, dass ein Benutzer, sobald er mit den Bearbeitungsmodi und Befehlen von VIM vertraut ist, eine weitaus größere Produktivität und Effizienz ermöglicht. Die Dateibearbeitung ist normalerweise schneller bei VIM als bei EMACs aufgrund der zielgerichteten Schnittstelle von Vim. Zum Beispiel kann Cursorbewegung durch die gesteuert werden H, J, K, Und L Schlüssel in der normaler Modus. Dies bedeutet. In EMACs (mit der Standardkonfiguration) bewegt der Benutzer den Cursor mit den Abkürzungen für Strg-B- oder Strg-F-Verknüpfungen, die möglicherweise den Novice-Benutzer verlangsamen, da zwei Tasten gedrückt werden müssen. Produktivitäts- und Effizienzverbesserungen in EMACs hängen eher von der Konfiguration der Bearbeitungsumgebung als von der Editor selbst ab.

RAM -Verwendung von EMACs vs vim

Vim ist leichter als EMACs und verwendet weniger Speicher. VIM-Befürworter kritisieren den Ressourcenkonsum von EMACS mit dem sprechenden Vorschlag, dass EMACs für "achtzig Megabyte und ständig tauschen" steht.

Mit Gnuclient kann jedoch ein einzelner persistierter EMACS -Prozess ausgeführt werden, der mehrere Kunden gleichzeitig unterstützen kann. Dies beschleunigt die Startzeit und verringert die Gesamtversuche des Gedächtnisses, wobei die Lücke zwischen EMACs und VIM schließt.

Erweiterbarkeit und Anpassung von EMACs gegen VIM

Während sowohl VIM- als auch EMACS -Plugins, die ihre Funktionalität verbessern. Dies ist wohl das wichtigste Merkmal von EMACs und ist für einen Groß.

EMACs können in ELISP erweitert werden, während Vim eine eigene interne Skriptsprache hat und die Verwendung anderer Programmiersprachen für die Pluginentwicklung unterstützt.

EMACs können durch Neudefinition integrierter ELISP-Funktionen im laufenden Fliegen erweitert werden, entweder durch Eingeben der neuen Definition in EMACs oder durch Laden von ELISP-Dateien. Gruppen verwandter Änderungen werden als "Modi" bezeichnet und können leicht so konfiguriert werden, dass sie automatisch für bestimmte Arten von Dateien (Puffer) verwendet werden können. Daher ist es einfach, Modi für verschiedene Programmiersprachen oder Frameworks wie "Lisp -Modus" oder "Ruby on Rails -Modus" oder "PHP -Modus" zu definieren. Diese Modi können selbst das Kernverhalten von EMACs direkt ändern, Text automatisch formatieren oder fördern und Standardvorlagen oder "Boilerplate" -Text wie Funktionserklärungen und Verschlüsse hinzufügen. Programmierer finden also, dass EMACs ihre jeweiligen Anforderungen weitaus anpassungsfähiger sind als VIM. Einige Programmierer finden jedoch, dass VIM aufgrund seines ebenso anpassbaren und vollständig modalen Betriebs letztendlich besser für ihre Programmierumgebung geeignet ist.

VIM kann auch im laufenden Fliegen über den Befehlsmodus erweitert werden. Mit dem Befehlsmodus können Konfigurationsoptionen festgelegt, Funktionen definiert und Makros erfolgen. Tatsächlich sind Konfigurationsdateien für VIM nur Befehle, die über den Befehlsmodus eingegeben werden können.

Grafische Benutzeroberfläche (GUI)

Sowohl VIM als auch EMACs haben grafische Benutzeroberflächen. Praktisch alle Menüelemente auf der grafischen Schnittstelle für beide Editoren sind einfach Möglichkeiten, einen Verknüpfungsbefehl oder eine schnelle Konfiguration zu verarbeiten. Die GUIs für die Redakteure liefern praktisch zusätzliche Funktionen, die über die in der CLI verfügbaren (Befehlszeilenschnittstelle) hinausgehen

EMACS verwendet XDisplay oder GTK2 für seine GUI. Vim kann viele andere GUI -Bibliotheken wie GTK, Gnome, Gnome2, Motiv, Athena und Nextaw verwenden, zusätzlich zu GTK2.