Editor war is de gangbare naam voor de rivaliteit tussen gebruikers van de tekstverwerkers vi en Emacs. De rivaliteit is een blijvend onderdeel geworden van de hackerscultuur en de vrije software gemeenschap.
Weinig software is universeler dan tekstverwerkers. Vele flame wars zijn uitgevochten tussen groepen die volhielden dat de editor van hun keuze het toonbeeld van perfectie is, en die de anderen beledigden. De meeste deelnemers aan deze ruzies erkennen dat het (grotendeels) om een grap gaat. Er zijn verwante gevechten over besturingssystemen, programmeertalen, en zelfs over de stijl van inspringen van broncode.
Editoroorlogen worden meestal uitgevochten tussen de aanhangers van de twee populairste editors op Unix-achtige systemen: vi en emacs. De ruzies richten zich meestal op moderne implementaties van deze twee editors, waarvan vim en GNU emacs de populairste zijn. De meeste gebruikers van deze systemen zijn tot op zekere hoogte bekend met beide programma’s, ze kennen ze goed genoeg om op zijn minst wat basistekstbewerking te doen, en vinden daarom dat ze goed geplaatst zijn om te oordelen over welke “beter” is. Beide editors zijn uitgebreide en zeer krachtige programma’s, en hebben een vrij steile leercurve, dus gebruikers investeren veel tijd in het leren kennen van de editor die ze gebruiken. Deze noodzakelijke tijdsinvestering resulteert in meer opiniërende gebruikers.
Verschillen tussen vi en Emacs
Template:POV De belangrijkste verschillen tussen vi en Emacs zijn:
- vi editing onthoudt elke permutatie van ingetypte toetsen. Dit creëert een pad in de beslisboom die ondubbelzinnig elk commando identificeert.
- Emacs commando’s zijn een combinatie van getypte toetsen die onmiddellijk worden uitgevoerd, wat de gebruiker de keuze laat om een commando wel of niet te gebruiken.
- vi is kleiner en sneller, en heeft (traditioneel althans) beperkte aanpassingsmogelijkheden.
- Emacs duurt langer om op te starten en heeft meer geheugen nodig. Het is echter in hoge mate aanpasbaar en bevat een groot aantal toeters en bellen, omdat het in essentie een Lisp programmeertaal executie omgeving is die een Lisp programma draait, ontworpen voor tekst-editing.
- vi werd traditioneel gebruikt binnen een tekst-mode console, zonder grafische gebruikersinterface (GUI) (hoewel vim er een heeft).
- Emacs, hoewel oorspronkelijk ontworpen voor gebruik op een console, ontwikkelde al vrij vroeg een GUI. Moderne versies van beide hebben verschillende GUI’s.
Historische opmerking:
- Het verschil in mogelijkheden en opstarttijd heeft invloed op de manier waarop de editors worden gebruikt: vi gebruikers hebben de neiging om de editor herhaaldelijk te openen en te sluiten, en de Unix shell te gebruiken voor complexe taken, terwijl Emacs gebruikers meestal binnen de editor blijven en Emacs zelf gebruiken voor complexe taken. Beide editors kunnen nu commando’s geven vanuit de shell.
Template:Copyedit
Voordelen van vi-achtige editors
- Volgt een “Compositie van eenvoudige gereedschappen”-filosofie
- Klein van omvang en houdt zich aan de Unix-filosofie “doe één ding, en doe het goed”. Vermijd Featuritis
- Sneller dan Emacs (traditioneel althans)
- Draait op alle systemen die de standaard C bibliotheek kunnen implementeren, inclusief DOS,Windows, Mac, BeOS, en POSIX compliant systemen
- Biedt vereenvoudigde beweging op tekst (begin|einde van regels|woord|paragrafen …)
- Kan commando’s samenstellen met beweging, bijv.b.v. 6dd verwijdert 6 regels
- Geeft de gebruiker de mogelijkheid de vingers op de beginregel te houden, zodat minder beweging nodig is om te bewerken
Voordelen van Emacs
- “Alles binnen handbereik” filosofie.
- Geen schakelen tussen modi (“invoegen van tekst”, “verplaatsen en commando’s opgeven”) (zie voordelen van vi; gebruikt metakey akkoorden).
- Grote set commando’s dan vi.
- Ondersteuning van niet ASCII talen (Chinees, …).
- Extensibel en aanpasbaar (Lisp programmeertaal variant – Emacs Lisp); lijst van enkele leuke features:
- Speciale bewerkingsmodi voor een groot aantal programmeer-, markup-, zet- en schrijftalen (Bash, C, Java, Lisp, LaTex, Wikipedia ….).
- Kan ook vi emuleren (bekend als “viper-mode”).
- Kan berekeningen uitvoeren in de Maya en Discordiaanse kalenders (GNU Emacs).
Historische opmerking:
- Eertijd bevatte Emacs een handig scherm met uitleg over het afsluiten, dat werd getoond wanneer het programma startte. Destijds bood vi een dergelijke hint niet, waardoor veel gebruikers die er niet uitkwamen hoe ze moesten afsluiten, gedwongen werden hun terminal gewoon los te koppelen.
Humor
Vaak zal iemand er op een bepaald moment in de discussie op wijzen dat ed de standaard teksteditor is.
Een interview in 1984 met de maker van vi, Bill Joy, onthulde dat hij zelf ed gebruikte, wat Emacs-voorstanders tot de uitspraak bracht: “zelfs Bill Joy gebruikt vi niet meer.”
De Church of Emacs, opgericht door Richard Stallman, is een grap, en hoewel ze verwijst naar vi als de “editor van het beest” (vi-vi-vi is 6-6-6 in Romeinse cijfers), verzet ze zich niet tegen het gebruik van vi; in plaats daarvan noemt ze propriëtaire software een anathema. (“Het gebruik van een vrije-softwareversie van vi is geen zonde; het is een boetedoening.”) Het heeft zijn eigen nieuwsgroep, alt.religion.emacs, die berichten bevat die voorgeven deze parodiërende religie te ondersteunen.
Hier volgt een typisch bericht:
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 heeft zichzelf gekscherend uitgeroepen tot St IGNU-cius, een heilige in de Kerk van Emacs.
Vi-aanhangers hebben een tegengestelde Cultus van vi opgericht, die door de meer hardline Emacs-gebruikers wordt gezien als een poging om “hun beteren na te doen”.
Met betrekking tot het modale karakter van vi, grappen sommige Emacs-gebruikers dat vi twee modi heeft – “piep herhaaldelijk” en “breek alles”. vi gebruikers grappen graag dat Emacs’s toetsenvolgorde carpaal tunnel syndroom veroorzaakt, of noemen een van de vele satirische uitbreidingen van het acroniem EMACS, zoals “Escape Meta Alt Control Shift” (een grapje over Emacs’s afhankelijkheid van modifier toetsen).Anderen hebben gesteld dat dit acroniem in feite “Acht Megabytes En Constant Verwisselen” betekent (in een tijd dat dat een grote hoeveelheid geheugen was) of “EMACS Maakt Elke Computer Traag” (een recursief acroniem zoals die Stallman gebruikt), in verwijzing naar Emacs’ hoge systeemvereisten. De modernere humorist gebruikt “Eventually Mallocs All Core Storage” als zijn of haar toekomstbestendige kwinkslag. Degenen die een bepaald probleem hebben met de GNU smaak van EMACS (misschien een XEmacs fan) kunnen “Generally Not Used, Except by Middle-Aged Computer Scientists” voorstellen als de juiste uitbreiding.
Als een poke op Emacs’ sluipende featurisme, zullen vi voorstanders Emacs beschrijven als “een geweldig besturingssysteem, met alleen een gebrek aan een fatsoenlijke editor”.
Er is nog meer humor die vi belachelijk maakt in http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, en ook Lisp (geassocieerd met Emacs) in de xkcd comic hier, hier, en hier.
Word War vi is een humoristische Defender-achtige shoot’em up gebaseerd op de editor oorlog.
Huidige staat van de editor oorlog
In het verleden floreerden veel kleine editors gemodelleerd naar of afgeleid van Emacs. Dit was te wijten aan het belang om geheugen te sparen met de relatief minuscule hoeveelheid beschikbaar in die tijd. Tegenwoordig, met een overvloed aan geheugen, zijn veel vi varianten, Vim in het bijzonder, gegroeid in grootte en code-complexiteit. Deze vi varianten van vandaag de dag hebben, net als de oude light Emacs varianten, de neiging om veel van de waargenomen voor- en nadelen van de tegenpartij te hebben. Namelijk, recente versies van Vim kunnen meer extensies hebben en lopen langzamer dan vroegere versies van Emacs. Bovendien, met de grote hoeveelheden RAM in moderne computers, zijn zowel vi als Emacs relatief licht in vergelijking met grote IDE’s zoals Eclipse, die de neiging hebben de spot te drijven met zowel vi als Emacs gebruikers.
O’Reilly, een bedrijf dat Vim en Emacs handleidingen verkoopt, zegt dat die van Vim er twee keer zoveel verkoopt als die van Emacs. Bij een paintball-evenement schreven ongeveer twee keer zoveel mensen zich in voor Vim dan voor Emacs. Dit wordt door sommigen opgevat als een teken dat ongeveer twee keer zoveel mensen Vim verkiezen boven Emacs. Er wordt echter opgemerkt dat veel gevorderde programmeurs Emacs en zijn verschillende uitlopers gebruiken, waaronder Linus Torvalds die MicroEMACS gebruikt.
In een Q&A sessie met negen prominente programmeurs, toen hen werd gevraagd wat hun favoriete tools waren, noemden zes van hen Emacs.
Naast vi en emacs workalikes, hebben pico en zijn vrije software kloon nano en andere editors vaak hun eigen derde partij voorstanders in de editor oorlogen, hoewel niet in de mate van vi en emacs.
Template:ReflistTemplate:Refbegin
- The Art of Unix Programming: Template:Cite book
Template:Refend
- Bronnen van de Kerk van Emacs
- Regels, zonden, deugden, Goden en meer van De Kerk van Emacs
- Sint Ignucius – zoals geportretteerd door Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter meet welke editor-activisten het meest zichtbaar zijn op het Web
- Ed is de standaard tekst editor
- Een transcript van Richard die St. IGNUcias en de Kerk van Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe