Redaktörskrig är det vanliga namnet på rivaliteten mellan användare av textredigerarna vi och Emacs. Rivaliteten har blivit en bestående del av hackerkulturen och samhället för fri programvara.
Få programvaror är mer universella än textredigerare. Många flamkrig har utkämpats mellan grupper som insisterar på att deras valfria redigeringsprogram är den perfekta redigeringen, och som förolämpar de andra. De flesta deltagare i dessa diskussioner inser att det (till stor del) är tongue-in-cheek. Det finns relaterade strider om operativsystem, programmeringsspråk och till och med om stilen för indragning av källkod.
Editorkrig utkämpas vanligen mellan anhängarna av de två mest populära redigeringsprogrammen på Unix-liknande system: vi och emacs. Striderna fokuserar vanligtvis på moderna implementeringar av dessa två redaktörer, varav de mest populära är vim och GNU emacs. De flesta användare av dessa system är bekanta med båda programmen i viss utsträckning, och känner till dem tillräckligt väl för att åtminstone kunna göra grundläggande textredigering, och känner sig därför väl lämpade att bedöma vilket som är ”bättre”. Båda redigeringsverktygen är omfattande och extremt kraftfulla verktyg och har ganska branta inlärningskurvor, så användarna investerar mycket tid i att lära känna det redigeringsprogram de använder. Denna nödvändiga tidsinvestering resulterar i mer åsiktsfulla användare.
Skillnader mellan vi och Emacs
Template:POV De viktigaste skillnaderna mellan vi och Emacs är:
- vi-redigering behåller varje permutation av inskrivna tangenter. Detta skapar en väg i beslutsträdet som entydigt identifierar varje kommando.
- Emacs-kommandon är en kombination av inskrivna tangenter som exekveras omedelbart, vilket ger användaren möjlighet att välja om han/hon vill använda ett kommando eller inte.
- vi är mindre och snabbare och har (åtminstone traditionellt sett) en begränsad anpassningsmöjlighet.
- Emacs tar längre tid att starta upp och kräver mer minne. Det är dock mycket anpassningsbart och innehåller ett stort antal klockor och visselpipor, eftersom det i huvudsak är en exekveringsmiljö för programmeringsspråket Lisp som kör ett Lisp-program som är utformat för textredigering.
- Vi har traditionellt använts inne i en konsol med textläge och har inget grafiskt användargränssnitt (GUI) (även om vim har ett sådant).
- Varemot Emacs, som visserligen ursprungligen var utformat för att användas i en konsol, utvecklade ganska tidigt ett grafiskt användargränssnitt. Moderna versioner av båda tillhandahåller olika grafiska gränssnitt.
Historisk anmärkning:
- Skillnaden i funktionsuppsättning och starttid tenderar att påverka hur editorerna används: vi-användare tenderar att gå in i och ut ur editorn upprepade gånger och använda Unix-skalet för komplexa uppgifter, medan Emacs-användare vanligtvis stannar kvar i editorn och använder själva Emacs för komplexa uppgifter. Båda redaktörerna kan nu utfärda kommandon från skalet.
Template:Copyedit
Fördelar med vi-liknande redaktörer
- Följer en filosofi om en ”sammansättning av enkla verktyg”
- Småttlig storlek och håller sig till Unix-filosofin ”gör en sak, och gör den bra”. Undvik Featuritis
- Snabbare än Emacs (åtminstone traditionellt)
- Kör i alla system som kan implementera standard C-biblioteket, inklusive DOS,Windows, Mac, BeOS och POSIX-kompatibla system
- Erbjuder förenklad förflyttning av text (början|slut av rader|ord|avsnitt …)
- Kan komponera kommandon med förflyttning, t.ex.t.ex. 6dd raderar 6 rader
- Gör det möjligt för användaren att hålla fingrarna på hemraden vilket kräver mindre rörelse för att redigera
Fördelar med Emacs
- Filosofin ”Allt inom räckhåll”
- Ingen lägesväxling (”infogning av text”, ”förflyttning och specificering av kommandon”) (se fördelarna med vi; använder metakey-ackord).
- Större uppsättning kommandon än vi.
- Stöd för icke-ASCII-språk (kinesiska, …).
- Utökningsbart och anpassningsbart (variant av programmeringsspråket Lisp – Emacs Lisp); lista över några trevliga funktioner:
- Speciella redigeringslägen för ett stort antal programmerings-, markerings- och sättningsspråk (Bash, C, Java, Lisp, LaTex, Wikipedia …).
- Kan även emulera vi (känt som ”viper-mode”).
- Kan utföra beräkningar i mayakalendern och den diskordiska kalendern (GNU Emacs).
Historisk anmärkning:
- Tidigt inkluderade Emacs en hjälpsam skärm som förklarade hur man avslutar programmet och som visades när programmet startade. På den tiden gav vi inte en sådan ledtråd, vilket tvingade många användare som inte kunde komma på hur man avslutar att helt enkelt koppla bort sina terminaler.
Humor
Frekvent, vid någon punkt i diskussionen, påpekar någon att ed är standardtextredigeraren.
En intervju från 1984 med Bill Joy, skapare av vi, avslöjade att han själv använde ed, vilket ledde Emacs-förespråkare till talesättet ”till och med Bill Joy använder inte vi längre”
The Church of Emacs, som bildades av Richard Stallman, är ett skämt, och även om den hänvisar till vi som ”odjurets redaktör” (vi-vi-vi är 6-6-6 i romerska siffror) , så motsätter den sig inte användandet av vi, utan kallar snarare proprietär mjukvara för ett anatema. (”Att använda en version av vi med fri programvara är inte en synd, det är en botgöring.”) Den har en egen nyhetsgrupp, alt.religion.emacs, med inlägg som påstås stödja denna parodireligion.
Här är ett typiskt inlägg:
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 har skämtsamt förklarat sig själv vara St IGNU-cius, ett helgon i Emacs-kyrkan.
vi-anhängare har skapat en motsatt Cult of vi, som av de mer hårdföra Emacs-användarna hävdas vara ett försök att ”efterlikna sina övermänniskor”.
När det gäller vi:s modala natur skämtar en del Emacs-användare om att vi har två lägen – ”pipa upprepade gånger” och ”bryta sönder allt”. Vi-användare skämtar gärna om att Emacs tangentsekvenser framkallar karpaltunnelsyndrom, eller nämner en av de många satiriska utvidgningarna av akronymen EMACS, till exempel ”Escape Meta Alt Control Shift” (ett skämt om Emacs beroende av modifieringstangenter).Andra har hävdat att akronymen i själva verket betyder ”Eight Megabytes And Constantly Swapping” (på en tid då det var en stor mängd minne) eller ”EMACS Makes Any Computer Slow” (en rekursiv akronym som de som Stallman använder), med hänvisning till Emacs höga krav på systemresurser. Den mer moderna humoristen använder ”Eventually Mallocs All Core Storage” som en framtidssäkrad vits. De som har en särskild invändning mot GNU-stilen i EMACS (kanske ett XEmacs-fan) kan föreslå ”Generally Not Used, Except by Middle-Aged Computer Scientists” som den korrekta expansionen.
Som en pikt mot Emacs’ krypande featurism kommer vi-förespråkare att beskriva Emacs som ”ett fantastiskt operativsystem, som bara saknar en anständig editor”.
Det finns ytterligare lite humor som driver med vi på http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, liksom med Lisp (förknippat med Emacs) i xkcd-tidningen här, här och här.
Word War vi är ett humoristiskt Defender-liknande shoot’em up som bygger på redaktörskriget.
Redaktörskrigets nuvarande tillstånd
Förr i tiden blomstrade många små redaktörer som var modellerade efter eller härledda från Emacs. Detta berodde på att det var viktigt att spara på minnet med den jämförelsevis lilla mängd som fanns tillgänglig på den tiden. Numera, med ett överflöd av minne, har många vi-alikes, särskilt Vim, vuxit i storlek och kodkomplexitet. Dagens vi-varianter, liksom de gamla lätta Emacs-varianterna, tenderar att ha många av den motsatta sidans upplevda fördelar och nackdelar. Nyare versioner av Vim kan nämligen ha fler tillägg och köras långsammare än tidigare versioner av Emacs. Med de stora mängderna RAM i moderna datorer är dessutom både vi och Emacs relativt lätta jämfört med stora IDE:er som Eclipse, som tenderar att dra till sig hån från både vi- och Emacs-användare.
O’Reilly, ett företag som säljer handledningsböcker för Vim och Emacs säger att Vim säljer dubbelt så många som Emacs. Vid ett paintball-evenemang anmälde sig ungefär dubbelt så många till Vim som till Emacs. Detta har av vissa tolkats som att ungefär dubbelt så många personer föredrar Vim framför Emacs. Det noteras dock att många avancerade programmerare använder Emacs och dess olika avknoppningar, däribland Linus Torvalds som använder MicroEMACS.
I en Q&A-session med nio framstående programmerare, när de tillfrågades om vilka deras favoritverktyg var, nämnde sex av dem Emacs.
Förutom vi- och emacs-workalikes har pico och dess fri programvaruklon nano och andra redaktörer ofta sina egna tredjepartsförespråkare i redaktörskriget, dock inte i samma utsträckning som vi och emacs.
Mall:ReflistMall:Refbegin
- The Art of Unix Programming: Template:Cite book
Template:Refend
- Emacs-kyrkans resurser
- Regler, synder, dygder, Gudar med mera av The Church of Emacs
- Saint Ignucius – as portrated by Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter mäter vilken redaktörs aktivister som är mer synliga på webben
- Ed är standardtextredigeraren
- En utskrift av Richard när han presenterar St. IGNUcias and the Church of Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe