Emacs vs. Vim

Emacs und Vim sind die zwei am häufigsten verwendeten Texteditoren auf Unix- und Unix-ähnlichen Systemen. Es gibt eine lange Geschichte des Wettbewerbs zwischen diesen beiden Texteditoren, die weitaus fortgeschrittener sind als andere Texteditoren auf der Unix-Plattform. Während beide Editoren über ihre Plugins, Skripts und Tastenkombinationen ähnliche Funktionen bieten, unterscheiden sich ihre Vorgehensweisen geringfügig.

Vergleichstabelle

Vergleichstabelle zwischen Emacs und Vim
EmacsVim
Vorschau der Veröffentlichung 23 7.2a.13 (2008-07-04)
Geschrieben in C und Emacs Lisp C und Vim Skript
Plattform Plattformübergreifend, einschließlich Unix, Linux und Microsoft Windows Plattformübergreifend, einschließlich Unix, Linux und Microsoft Windows
Verfügbar in Englisch, Chinesisch, Französisch, Italienisch, Polnisch, Russisch Englisch, Chinesisch, Französisch, Italienisch, Polnisch, Russisch
Art 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 funktionsreichen Texteditoren, die sich normalerweise durch ihre Erweiterbarkeit auszeichnen. Emacs verfügt über 1.000 Bearbeitungsbefehle. Der Benutzer kann diese Befehle auch zu Makros kombinieren, um die Arbeit zu automatisieren. Vim ist ein Texteditor, der erstmals 1991 von Bram Moolenaar für den Amiga-Computer veröffentlicht wurde. Der Name "Vim" ist eine Abkürzung für "Vi IMproved", da Vim als erweiterte Version des vi-Editors erstellt wurde und viele zusätzliche Funktionen hilfreich waren
Design von Richard Stallman Bram Moolenaar
Erstveröffentlichung 1976 1991
Stabile Version 22.3 (2008-09-05) 7.2 (2008-08-09)
Puffer-Registerkarten Wird sowohl in der Befehlszeile als auch in der grafischen Benutzeroberfläche unterstützt Wird sowohl in der Befehlszeile als auch in der grafischen Benutzeroberfläche unterstützt

Inhalt: Emacs vs Vim

  • 1 Benutzeroberfläche von Emacs und Vim
    • 1.1 Leichtes Lernen
    • 1.2 Produktivität und Bearbeitungsgeschwindigkeit
  • 2 RAM-Nutzung von Emacs vs Vim
  • 3 Erweiterbarkeit und Anpassung von Emacs vs. Vim
    • 3.1 Grafische Benutzeroberfläche (GUI)
  • 4 Referenzen

Emacs und Vim Benutzeroberfläche

Vim verwendet Bearbeitungsmodi - am häufigsten die Befehlsmodus und Einfügemodus. Vim zielt darauf ab, die Anzahl der Tastenanschläge zu minimieren, die ein Benutzer drücken muss, da vi, auf dem Vim basiert, für langsame Terminals entwickelt wurde.

Emacs verwendet Modifizierertasten, um Tastenkombinationen zu aktivieren, was häufig das gleichzeitige Drücken mehrerer Tasten für eine einzelne Funktion beinhaltet. Dieser Aspekt von Emacs wird oft kritisiert.

Leichtes Lernen

Emacs ist einfacher zu erlernen, da es eine natürlichere Benutzeroberfläche hat (für Benutzer, die mit GUI-basierten Texteditoren vertraut sind). Da Vim unterschiedliche Bearbeitungsmodi hat, ist es für Anfänger etwas schwieriger zu lernen.

Produktivität und Bearbeitungsgeschwindigkeit

Vim-Enthusiasten argumentieren, dass ein Benutzer, wenn er mit den Bearbeitungsmodi und -befehlen von Vim vertraut ist, eine weitaus höhere Produktivität und Effizienz ermöglicht. Die Bearbeitung von Dateien ist in der Regel mit Vim schneller als mit Emacs, da Vim absichtlich die Geschwindigkeit steuert. Zum Beispiel kann die Cursorbewegung über die gesteuert werden H, J, K, und L Schlüssel in der normaler Modus. Dies bedeutet, dass die Hände des Benutzers nicht die Position "Home Row" verlassen müssen, was die Effizienz erhöht, jedoch mit dem Preis verbunden ist, der zusätzliche Kosten verursacht, da ein Moduswechsel erforderlich ist, um zwischen Bewegung und Textbearbeitung zu wählen. In Emacs (mit der Standardkonfiguration) bewegt der Benutzer den Cursor mit den Tastenkombinationen Strg-B oder Strg-F. Dies kann den Neuling verlangsamen, da zwei Tasten gedrückt werden müssen. Produktivitäts- und Effizienzsteigerungen in Emacs hängen von der Konfiguration der Bearbeitungsumgebung und nicht vom Editor selbst ab.

RAM-Nutzung von Emacs vs. Vim

Vim ist leichter als Emacs und verbraucht weniger Speicher. Vim-Befürworter kritisieren den Ressourcenverbrauch von Emacs mit dem augenzwinkernden Vorschlag, dass Emacs für "Achtzig Megabytes und ständiges Austauschen" steht.

Mit gnuclient kann jedoch ein einzelner permanenter Emacs-Prozess ausgeführt werden, der mehrere Clients gleichzeitig unterstützen kann. Dies beschleunigt die Startzeit und verringert den gesamten Speicherverbrauch, wodurch die Lücke zwischen Emacs und Vim geschlossen wird.

Erweiterbarkeit und Anpassung von Emacs vs. Vim

Während sowohl Vim als auch Emacs Plugins unterstützen, die ihre Funktionalität verbessern, unterstützt Emacs die Anpassung der Editorumgebung. Dies ist wohl das wichtigste Merkmal von Emacs und ist für einen Großteil der emacs-Anhänger verantwortlich.

Emacs kann in elisp erweitert werden, während Vim eine eigene Skriptsprache besitzt und die Verwendung anderer Programmiersprachen für die Plugin-Entwicklung unterstützt.

Emacs kann im laufenden Betrieb erweitert werden, indem die integrierten elisp-Funktionen neu definiert werden, indem Sie entweder die neue Definition in Emacs eingeben oder elisp-Dateien laden. Gruppen verwandter Änderungen werden als "Modi" bezeichnet und können so konfiguriert werden, dass sie automatisch für bestimmte Dateitypen (Puffer) verwendet werden. So können Modi für verschiedene Programmiersprachen oder Frameworks wie "Lisp-Modus" oder "Ruby on Rails-Modus" oder "PHP-Modus" einfach definiert werden. Diese Modi können sogar das Kernverhalten von Emacs direkt ändern, Text automatisch formatieren oder kolorieren und Standardvorlagen- oder "Boilerplate" -Text wie Funktionsdeklarationen und Schließungen hinzufügen. Daher finden Programmierer, dass Emacs weitaus anpassbarer an ihre speziellen Anforderungen sind als Vim. Einige Programmierer finden jedoch, dass Vim aufgrund seiner ebenso anpassbaren und vollständig modalen Funktionsweise letztendlich besser für ihre Programmierumgebung geeignet ist.

Vim kann auch im Befehlsmodus erweitert werden. Im Befehlsmodus können Konfigurationsoptionen festgelegt, Funktionen definiert und Makros erstellt werden. 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 verfügen über grafische Benutzeroberflächen. Praktisch alle Menüelemente in der grafischen Benutzeroberfläche für beide Editoren sind einfach eine Möglichkeit, einen Shortcut-Befehl oder eine Schnellkonfiguration auszuführen. Die GUIs für die Editoren bieten praktisch keine zusätzlichen Funktionen, die über die in der CLI verfügbaren Funktionen (Befehlszeilenschnittstelle) hinausgehen.

Emacs verwendet XDisplay oder gtk2 als GUI. Vim kann neben gtk2 viele andere GUI-Bibliotheken wie gtk, gnome, gnome2, motif, athena und neXtaw verwenden.

Verweise

  • Wikipedia: Vi
  • Wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs hat die Kraft von Lisp, was es sehr flexibel macht
  • Einsteigerhandbuch für Emacs