Redaktørkrig er den almindelige betegnelse for rivaliseringen mellem brugere af tekstredigeringsprogrammerne vi og Emacs. Rivaliseringen er blevet en varig del af hackerkulturen og fællesskabet for fri software.

Få stykker software er mere universelle end teksteditorer. Mange flame wars er blevet udkæmpet mellem grupper, der insisterer på, at deres foretrukne editor er et forbillede for redigeringsperfektion, og som fornærmer de andre. De fleste deltagere i disse diskussioner erkender, at det (stort set) er tungen på vægtskålen. Der er beslægtede kampe om styresystemer, programmeringssprog og endda om stilen for indrykning af kildekode.

Editorkrige udkæmpes normalt mellem tilhængerne af de to mest populære editorer på Unix-lignende systemer: vi og emacs. Stridighederne fokuserer normalt på moderne implementeringer af disse to editorer, hvoraf de mest populære er vim og GNU emacs. De fleste brugere af disse systemer er i et vist omfang fortrolige med begge programmer og kender dem godt nok til i det mindste at foretage grundlæggende tekstredigering, og de føler derfor, at de er velplacerede til at bedømme, hvilket program der er “bedre”. Begge editorer er omfattende og ekstremt kraftfulde værktøjer, og de har ret stejle indlæringskurver, så brugerne investerer meget tid i at lære den editor, de bruger, at kende. Denne nødvendige tidsinvestering resulterer i mere meningsfulde brugere.

Forskelle mellem vi og Emacs

Skabelon:POV De vigtigste forskelle mellem vi og Emacs er:

  • vi-redigering bevarer hver permutation af de indtastede taster. Dette skaber en sti i beslutningstræet, som entydigt identificerer enhver kommando.
  • Emacs-kommandoer er en kombination af indtastede taster, der udføres med det samme, hvilket overlader det til brugeren at vælge, om en kommando skal bruges eller ej.
  • vi er mindre og hurtigere og har (i hvert fald traditionelt set) begrænsede muligheder for tilpasning.
  • Emacs tager længere tid at starte op og kræver mere hukommelse. Det kan dog tilpasses i høj grad og indeholder et stort antal klokker og fløjter, da det i bund og grund er et eksekveringsmiljø for programmeringssproget Lisp, som kører et Lisp-program designet til tekstredigering.
  • vi blev traditionelt brugt inde i en konsol i teksttilstand og har ingen grafisk brugergrænseflade (GUI) (selv om vim har en).
  • Mens Emacs, selv om det oprindeligt var designet til brug i en konsol, fik ret tidligt udviklet en GUI. Moderne versioner af begge tilbyder forskellige GUI’er.

Historisk bemærkning:

  • Den forskel i funktionssæt og opstartstid har en tendens til at påvirke den måde, som editorerne bruges på: vi-brugere har en tendens til at gå ind og ud af editoren gentagne gange og bruge Unix-shellen til komplekse opgaver, mens Emacs-brugere normalt bliver i editoren og bruger selve Emacs til komplekse opgaver. Begge editorer er nu i stand til at udstede kommandoer fra shell’en.

Skabelon:Copyedit

Fordele ved vi-lignende editorer

  • Folger en “Sammensætning af enkle værktøjer”-filosofi
  • Små i størrelse og holder sig til Unix-filosofien “gør én ting, og gør det godt”. Undgå Featuritis
  • Hurtigere end Emacs (traditionelt set i hvert fald)
  • Kører i alle systemer, der kan implementere standard C-biblioteket, herunder DOS,Windows, Mac, BeOS og POSIX-kompatible systemer
  • Få forenklet bevægelse på tekst (begyndelse|slutning af linjer|ord|afsnit …)
  • Kan sammensætte kommandoer med bevægelse, f.eks.f.eks. 6dd sletter 6 linjer
  • Gør det muligt for brugeren at holde fingrene på hjemmerækken og dermed kræve mindre bevægelse for at redigere

Fordele ved Emacs

  • “Alt inden for rækkevidde”-filosofi.
  • Ingen skift af tilstand (“indsættelse af tekst”, “bevæge sig rundt og specificere kommandoer”) (se fordele ved vi; bruger metakey-akkorder).
  • Større sæt af kommandoer end vi.
  • Understøttelse af ikke-ASCII-sprog(kinesisk, …).
  • Udvidelses- og tilpasningsmuligheder (Lisp-programmeringssprogvariant – Emacs Lisp); liste over nogle gode funktioner:
    • Særlige redigeringstilstande for et stort antal programmerings-, markerings-, sættelsessprog (Bash, C, Java, Lisp, LaTex, Wikipedia …).
    • Kan også emulere vi (kendt som “viper-mode”).
    • Kan udføre beregninger i Maya-kalendere og diskordiske kalendere (GNU Emacs).

Historisk bemærkning:

  • I begyndelsen indeholdt Emacs en hjælpsom skærm, der forklarede, hvordan man afslutter, og som blev vist, når programmet blev startet. På det tidspunkt gav vi ikke et sådant hint, hvilket tvang mange brugere, der ikke kunne finde ud af at afslutte, til simpelthen at afbryde deres terminaler.

Humor

Hyppigt vil nogen på et eller andet tidspunkt i diskussionen påpege, at ed er standardteksteditoren.

Et interview i 1984 med vi-skaber Bill Joy afslørede, at han selv brugte ed, hvilket fik Emacs-tilhængere til at sige: “selv Bill Joy bruger ikke vi længere.”

The Church of Emacs, dannet af Richard Stallman, er en joke, og selv om den henviser til vi som “bæstets editor” (vi-vi-vi er 6-6-6 i romertal) , er den ikke imod brugen af vi; den kalder snarere proprietær software for en anathema. (“At bruge en fri software-version af vi er ikke en synd; det er en bod.”) Den har sin egen nyhedsgruppe, alt.religion.emacs, som har indlæg, der hævder at støtte denne parodireligion.

Her er et typisk indlæg:

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 for sjov erklæret sig selv for at være St IGNU-cius, en helgen i Emacs-kirken.

vi-tilhængere har skabt en modsatrettet Cult of vi, som af de mere hårde Emacs-brugere hævdes at være et forsøg på at “efterligne deres overmænd”.

Med hensyn til vi’s modale natur laver nogle Emacs-brugere sjov med, at vi har to tilstande – “bippe gentagne gange” og “ødelægge alt”. vi-brugere spøger gerne med, at Emacs’ tasterækkefølger fremkalder karpaltunnelsyndrom, eller nævner en af de mange satiriske udvidelser af akronymet EMACS, såsom “Escape Meta Alt Control Shift” (en spøg om Emacs’ afhængighed af modificeringstaster).Andre har hævdet, at dette akronym i virkeligheden betyder “Eight Megabytes And Constantly Swapping” (i en tid, hvor det var en stor mængde hukommelse) eller “EMACS Makes Any Computer Slow” (et rekursivt akronym som dem, Stallman bruger), med henvisning til Emacs’ høje krav til systemressourcer. Den mere moderne humorist bruger “Eventually Mallocs All Core Storage” som sin fremtidssikre vittighed. De, der har et særligt problem med GNU-varianten af EMACS (måske en XEmacs-fan), kan foreslå “Generally Not Used, Except by Middle-Aged Computer Scientists” som den rette udvidelse.

Som en stikpille til Emacs’ snigende featurisme vil vi-forkæmpere beskrive Emacs som “et fantastisk styresystem, der kun mangler en ordentlig editor”.

Der er yderligere humor, der gør grin med vi på http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, samt Lisp (associeret med Emacs) på xkcd-tegneserien her, her og her.

Word War vi er et humoristisk Defender-lignende shoot’em up baseret på editor-krigen.

Nuværende status for editor-krigen

I fortiden blomstrede mange små editorer, der var modelleret efter eller afledt af Emacs. Dette skyldtes vigtigheden af at spare på hukommelsen med den forholdsvis lille mængde hukommelse, der var til rådighed på det tidspunkt. I dag, med en overflod af hukommelse, er mange vi-alikes, især Vim, vokset i størrelse og kodekompleksitet. Disse vi-varianter af i dag, ligesom de gamle lette Emacs-varianter, har tendens til at have mange af de opfattede fordele og ulemper ved den modsatte side. Nemlig, nyere versioner af Vim kan have flere udvidelser og køre langsommere end tidligere versioner af Emacs. Desuden er både vi og Emacs med de store mængder RAM i moderne computere relativt lette sammenlignet med store IDE’er som Eclipse, som har en tendens til at tiltrække sig hån fra både vi- og Emacs-brugere.

O’Reilly, et firma, der sælger Vim- og Emacs-tutorials, siger, at Vim sælger dobbelt så mange som Emacs. Ved et paintball-arrangement var der ca. dobbelt så mange, der meldte sig til Vim som til Emacs. Dette er af nogle blevet opfattet som tegn på, at ca. dobbelt så mange personer foretrækker Vim frem for Emacs. Det bemærkes dog, at mange avancerede programmører bruger Emacs og dets forskellige udløbere, herunder Linus Torvalds, der bruger MicroEMACS.

I en Q&A-session med ni fremtrædende programmører, da de blev spurgt, hvad deres foretrukne værktøjer var, nævnte seks af dem Emacs.

Ud over vi og emacs workalikes har pico og dets fri software-klon nano og andre editorer ofte deres egne tredjepartsforkæmpere i editor-krigene, dog ikke i samme omfang som vi og emacs.

Template:ReflistTemplate:Refbegin

  • The Art of Unix Programming: Template:Cite book

Template:Refend

  • Kirke af Emacs-ressourcer
  • Regler, synder, dyder, Guder med mere af The Church of Emacs
  • Saint Ignucius – som portrætteret af Richard Stallman
  • Vi Lovers Home Page
  • $EDITOR sucks-rules-o-meter måler, hvilke editoraktivister der er mest synlige på nettet
  • Ed er standard teksteditoren
  • En udskrift af Richard, der introducerer St. IGNUcias og Emacs-kirken

de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争

pl:Wojny edytorowe

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.