Editorkrieg ist der gebräuchliche Name für die Rivalität zwischen Benutzern der Texteditoren vi und Emacs. Die Rivalität ist zu einem dauerhaften Teil der Hackerkultur und der Gemeinschaft der freien Software geworden.
Wenige Software ist so universell wie Texteditoren. Viele Flamewars wurden zwischen Gruppen ausgefochten, die darauf bestanden, dass der Editor ihrer Wahl der Inbegriff der perfekten Bearbeitung sei, und die anderen beleidigten. Die meisten Teilnehmer an diesen Auseinandersetzungen erkennen, dass es sich dabei (größtenteils) um eine ironische Bemerkung handelt. Es gibt verwandte Schlachten über Betriebssysteme, Programmiersprachen und sogar über den Stil der Einrückung von Quellcode.
Editor-Kriege werden gewöhnlich zwischen den Anhängern der beiden beliebtesten Editoren auf Unix-ähnlichen Systemen ausgetragen: vi und emacs. Die Auseinandersetzungen konzentrieren sich meist auf moderne Implementierungen dieser beiden Editoren, von denen vim und GNU emacs die populärsten sind. Die meisten Benutzer dieser Systeme sind mit beiden Programmen bis zu einem gewissen Grad vertraut, kennen sie gut genug, um zumindest einige grundlegende Textbearbeitungen vorzunehmen, und fühlen sich daher in der Lage, zu beurteilen, welches Programm „besser“ ist. Bei beiden Editoren handelt es sich um umfangreiche und äußerst leistungsfähige Werkzeuge, die eine recht steile Lernkurve aufweisen, so dass die Benutzer viel Zeit investieren, um sich mit dem von ihnen verwendeten Editor vertraut zu machen. Diese notwendige Zeitinvestition führt zu mehr meinungsbildenden Benutzern.
Unterschiede zwischen vi und Emacs
Vorlage:POV Die wichtigsten Unterschiede zwischen vi und Emacs sind:
- Die Bearbeitung mit vi speichert jede Permutation der eingegebenen Tasten. Dadurch entsteht ein Pfad im Entscheidungsbaum, der jeden Befehl eindeutig identifiziert.
- Emacs-Befehle sind eine Kombination von eingegebenen Tasten, die sofort ausgeführt werden, was dem Benutzer die Wahl lässt, ob er einen Befehl verwenden will oder nicht.
- vi ist kleiner und schneller und hat (zumindest traditionell) begrenzte Anpassungsmöglichkeiten.
- Emacs braucht länger zum Starten und benötigt mehr Speicher. Es ist jedoch in hohem Maße anpassbar und enthält eine große Anzahl von Schnickschnack, da es im Wesentlichen eine Ausführungsumgebung für die Lisp-Programmiersprache ist, die ein Lisp-Programm ausführt, das für die Textbearbeitung entwickelt wurde.
- vi wurde traditionell in einer Konsole im Textmodus verwendet und hat keine grafische Benutzeroberfläche (GUI) (obwohl vim eine hat).
- Wohingegen Emacs, obwohl er ursprünglich für die Verwendung auf einer Konsole entwickelt wurde, ziemlich früh eine GUI entwickelte. Moderne Versionen von beiden bieten verschiedene GUIs.
Historische Anmerkung:
- Der Unterschied im Funktionsumfang und in der Startzeit beeinflusst die Art und Weise, wie die Editoren benutzt werden: vi-Benutzer neigen dazu, den Editor wiederholt zu betreten und zu verlassen und die Unix-Shell für komplexe Aufgaben zu benutzen, während Emacs-Benutzer normalerweise im Editor bleiben und Emacs selbst für komplexe Aufgaben benutzen. Beide Editoren sind nun in der Lage, Befehle von der Shell aus zu erteilen.
Vorlage:Copyedit
Vorteile von vi-ähnlichen Editoren
- Verfolgen eine „Zusammenstellung von einfachen Werkzeugen“-Philosophie
- Klein im Umfang und hält sich an die Unix-Philosophie „mach eine Sache, und mach sie gut“. Vermeide Featuritis
- Schneller als Emacs (zumindest traditionell)
- Läuft auf allen Systemen, die die Standard-C-Bibliothek implementieren können, einschließlich DOS, Windows, Mac, BeOS und POSIX-kompatiblen Systemen
- Bietet vereinfachte Bewegung auf Text (Anfang|Ende von Zeilen|Wort|Absätze …)
- Kann Befehle mit Bewegung zusammenstellen, z.z. B. 6dd löscht 6 Zeilen
- Erlaubt dem Benutzer, die Finger auf der Startzeile zu halten, so dass weniger Bewegung zum Editieren erforderlich ist
Vorteile von Emacs
- „Alles in Reichweite“ Philosophie.
- Kein Moduswechsel („Einfügen von Text“, „Bewegen und Befehle angeben“) (siehe Vorteile von vi; verwendet metakey Akkorde).
- Größerer Befehlssatz als vi.
- Unterstützung von Nicht-ASCII-Sprachen (Chinesisch, …).
- Erweiterbar und anpassbar (Lisp-Programmiersprachenvariante – Emacs Lisp); Liste einiger netter Features:
- Spezielle Editiermodi für eine große Anzahl von Programmier-, Auszeichnungs-, Satzsprachen (Bash, C, Java, Lisp, LaTex, Wikipedia …).
- Kann auch vi emulieren (bekannt als „viper-mode“).
- Kann Berechnungen im Maya- und Diskordianischen Kalender ausführen (GNU Emacs).
Historische Anmerkung:
- Anfänglich enthielt Emacs einen hilfreichen Bildschirm, der erklärte, wie man das Programm verlässt, und der beim Start angezeigt wurde. Zu dieser Zeit bot vi keinen solchen Hinweis, was viele Benutzer, die nicht herausfinden konnten, wie man das Programm beendet, dazu zwang, einfach die Verbindung zu ihren Terminals zu trennen.
Humor
Häufig wird jemand an irgendeinem Punkt der Diskussion darauf hinweisen, dass ed der Standardtexteditor ist.
Ein Interview mit dem vi-Erfinder Bill Joy aus dem Jahr 1984 enthüllte, dass er selbst ed benutzte, was Emacs-Befürworter zu dem Spruch veranlasste: „Sogar Bill Joy benutzt vi nicht mehr.“
Die von Richard Stallman gegründete Church of Emacs ist ein Witz, und obwohl sie vi als „Editor der Bestie“ bezeichnet (vi-vi-vi steht für 6-6-6 in römischen Ziffern), wendet sie sich nicht gegen die Verwendung von vi, sondern nennt proprietäre Software ein Anathema. („Die Verwendung einer freien Software-Version von vi ist keine Sünde, sondern eine Buße.“) Sie hat ihre eigene Newsgroup, alt.religion.emacs, die Beiträge enthält, die vorgeben, diese Parodie-Religion zu unterstützen.
Hier ist ein typischer Beitrag:
Truly, our responsibility to spread the Gospel of the Gnu is weighty.Cleave to what is good. Remember the words the prophet Stallmanbrought down from the Mount MIT, graved in Lisp on tablets ofcrystalline lambda calculus.Only this true: Emacs is pure.All else is false.Do not be misled by false gods like Vi, the Editor of the Beast.Do not be seduced by Word, the Scarlet Woman of Babylon.Do not be driven to madness by Xcode, the Blind Priest of the Children of Asherath.When the wild winds of chaos blow, stay pure.When the universe collapses in shards around you, stay holy.When the gibbering hobgoblins of apostate Editors attack with shardsof broken syntax, seek the crystalline stillness within you.Brethren, ensure that you (Meta-x-say-hallel-to-Emacs) daily for otherwise you will be lost.When the Beast comes, only Emacs can save you.This was brought to you as a public service by the Holy and Ineffable Church of The Mighty Emacs.SUPPORT THIS CRUSADE WITH YOUR DONATIONS. EMAIL THE STILL BEATINGHEART OF A VILE VI USER TO emacs-highpriest@god-hates-vi-users
Stallman hat sich selbst scherzhaft zum Heiligen IGNU-cius erklärt, einem Heiligen in der Kirche des Emacs.
Vi-Unterstützer haben einen gegensätzlichen Kult von vi geschaffen, der von den hartgesottenen Emacs-Benutzern als ein Versuch angesehen wird, „ihre Vorgänger zu imitieren“.
In Bezug auf die modale Natur von vi scherzen einige Emacs-Benutzer, dass vi zwei Modi hat – „wiederholt piepen“ und „alles kaputt machen“. vi-Benutzer scherzen gerne darüber, dass die Tastenfolgen von Emacs das Karpaltunnelsyndrom hervorrufen, oder sie erwähnen eine der vielen satirischen Erweiterungen des Akronyms EMACS, wie z.B. „Escape Meta Alt Control Shift“ (eine Anspielung auf die Abhängigkeit des Emacs von den Modifier-Tasten).Andere haben behauptet, dass dieses Akronym in Wirklichkeit „Eight Megabytes And Constantly Swapping“ (in einer Zeit, in der das eine große Menge an Speicher war) oder „EMACS Makes Any Computer Slow“ (ein rekursives Akronym, wie es Stallman verwendet) bedeutet, in Anspielung auf die hohen Systemressourcenanforderungen von Emacs. Der modernere Humorist verwendet „Eventually Mallocs All Core Storage“ als seinen oder ihren zukunftssicheren Spruch. Diejenigen, die ein besonderes Problem mit der GNU-Variante von EMACS haben (vielleicht ein XEmacs-Fan), können „Generally Not Used, Except by Middle-Aged Computer Scientists“ als die richtige Erweiterung vorschlagen.
Als Stichelei gegen den schleichenden Featurismus von Emacs werden vi-Befürworter Emacs als „ein großartiges Betriebssystem, dem nur ein anständiger Editor fehlt“ beschreiben.
Es gibt zusätzlichen Humor, der sich über vi bei http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html lustig macht, sowie über Lisp (verbunden mit Emacs) im xkcd-Comic hier, hier und hier.
Word War vi ist ein humorvolles Defender-ähnliches Shoot’em Up, das auf dem Editor-Krieg basiert.
Aktueller Stand des Editor-Kriegs
In der Vergangenheit florierten viele kleine Editoren, die nach Emacs modelliert oder von ihm abgeleitet wurden. Das lag daran, dass es wichtig war, mit dem vergleichsweise geringen Speicherplatz, der damals zur Verfügung stand, sparsam umzugehen. Heutzutage, mit einer Fülle von Speicher, sind viele vi-Varianten, insbesondere Vim, in Größe und Codekomplexität gewachsen. Diese heutigen vi-Varianten, wie auch die alten leichten Emacs-Varianten, neigen dazu, viele der wahrgenommenen Vor- und Nachteile der gegnerischen Seite zu haben. Neuere Versionen von Vim können nämlich mehr Erweiterungen haben und laufen langsamer als frühere Versionen von Emacs. Außerdem sind sowohl vi als auch Emacs bei den großen Mengen an RAM in modernen Computern relativ leichtgewichtig im Vergleich zu großen IDEs wie Eclipse, die sowohl von vi als auch von Emacs-Benutzern verspottet werden.
O’Reilly, eine Firma, die Vim- und Emacs-Tutorials verkauft, sagt, dass sich das von Vim doppelt so oft verkauft wie das von Emacs. Bei einer Paintball-Veranstaltung meldeten sich etwa doppelt so viele Leute für Vim wie für Emacs an. Dies wurde von einigen als Hinweis darauf gewertet, dass etwa doppelt so viele Personen Vim gegenüber Emacs bevorzugen. Es ist jedoch anzumerken, dass viele fortgeschrittene Programmierer Emacs und seine verschiedenen Ableger benutzen, einschließlich Linus Torvalds, der MicroEMACS benutzt.
In einer Fragestunde mit neun prominenten Programmierern nannten sechs von ihnen Emacs, als sie gefragt wurden, was ihre Lieblingswerkzeuge seien.
Neben vi und emacs haben pico und sein freier Softwareklon nano und andere Editoren oft ihre eigenen Verfechter in den Editorenkriegen, wenn auch nicht in dem Ausmaß wie vi und emacs.
Vorlage:ReflistVorlage:Refbegin
- The Art of Unix Programming: Vorlage:Cite book
Vorlage:Refend
- Kirche der Emacs-Ressourcen
- Regeln, Sünden, Tugenden, Götter und mehr der Church of Emacs
- Heiliger Ignucius – dargestellt von Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter misst, welche Editor-Aktivisten im Web besser sichtbar sind
- Ed ist der Standard-Texteditor
- Ein Transkript von Richard, der St. IGNUcias und die Kirche des Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe