A szerkesztő háború a vi és az Emacs szövegszerkesztők felhasználói közötti rivalizálás általános elnevezése. A rivalizálás a hackerkultúra és a szabad szoftverek közösségének maradandó részévé vált.
Néhány szoftver univerzálisabb, mint a szövegszerkesztők. Sok lángháborút vívtak már olyan csoportok, amelyek ragaszkodtak ahhoz, hogy az általuk választott szerkesztő a szerkesztés tökéletességének példaképe, és sértegették a többieket. Az ilyen viták legtöbb résztvevője elismeri, hogy ez (nagyrészt) szájbarágás. Vannak kapcsolódó csaták az operációs rendszerek, a programozási nyelvek, sőt még a forráskód behúzási stílusa körül is.
A szerkesztőháborúk általában a két legnépszerűbb szerkesztő hívei között zajlanak a Unix-szerű rendszereken: a vi és az emacs. A viták általában e két szerkesztő modern implementációira összpontosulnak, amelyek közül a legnépszerűbbek a vim és a GNU emacs. E rendszerek legtöbb felhasználója mindkét programot valamilyen szinten ismeri, elég jól ismeri őket ahhoz, hogy legalább néhány alapvető szövegszerkesztést elvégezzen, és ezért úgy érzi, hogy jó helyzetben van ahhoz, hogy megítélje, melyik a “jobb”. Mindkét szerkesztőprogram kiterjedt és rendkívül nagy teljesítményű eszköz, és meglehetősen meredek tanulási görbékkel rendelkeznek, ezért a felhasználók sok időt fektetnek abba, hogy megismerjék az általuk használt szerkesztőt. Ez a szükséges időbefektetés véleményesebb felhasználókat eredményez.
A vi és az Emacs közötti különbségek
Template:POV A vi és az Emacs közötti legfontosabb különbségek a következők:
- A vi szerkesztés megtartja a begépelt billentyűk minden egyes permutációját. Ezáltal a döntési fában egy olyan ösvényt hoz létre, amely egyértelműen azonosít minden parancsot.
- Az Emacs parancsok a begépelt billentyűk azonnal végrehajtott kombinációja, ami a felhasználóra bízza a választás lehetőségét.
- A vi kisebb és gyorsabb, és (legalábbis hagyományosan) korlátozottan testreszabható.
- Az Emacs indítása hosszabb időt vesz igénybe, és több memóriát igényel. Viszont nagymértékben testreszabható, és rengeteg sallangot tartalmaz, mivel lényegében egy Lisp programozási nyelv futtatókörnyezete, amely egy szövegszerkesztésre tervezett Lisp programot futtat.
- A vi-t hagyományosan egy szöveges módú konzolon belül használták, nem rendelkezett grafikus felhasználói felülettel (GUI) (bár a vim-nek van).
- Az Emacs viszont, bár eredetileg konzolos használatra tervezték, viszonylag korán kinőtt egy GUI. Mindkettő modern változatai különböző GUI-kat biztosítanak.
Történeti megjegyzés:
- A funkciókészlet és az indítási idő közötti különbség általában befolyásolja a szerkesztők használatának módját: a vi felhasználók általában többször belépnek és kilépnek a szerkesztőből, és az összetett feladatokhoz a Unix shell-t használják, míg az Emacs felhasználók általában a szerkesztőn belül maradnak, és magát az Emacs-et használják az összetett feladatokhoz. Most már mindkét szerkesztő képes parancsokat kiadni a héjból.
Template:Copyedit
A vi-szerű szerkesztők előnyei
- Az “egyszerű eszközök összetétele” filozófiát követik
- Kis méret és a Unix “csinálj egy dolgot, és csináld jól” filozófiáját tartja. Kerülje a Featuritis-t
- Gyorsabb, mint az Emacs (legalábbis hagyományosan)
- Futtatható minden olyan rendszerben, amely képes a szabványos C könyvtárat implementálni, beleértve a DOS,Windows, Mac, BeOS és POSIX kompatibilis rendszereket
- Egyszerűsített mozgást kínál a szövegben (sor eleje|sor vége|szó| bekezdések …)
- Mozgással tud parancsokat összeállítani, pl.pl. a 6dd 6 sort töröl
- Megengedi a felhasználónak, hogy ujjait a kezdő soron tartsa, így kevesebb mozgást igényel a szerkesztéshez
Az Emacs előnyei
- “Minden kéznél van” filozófia.
- Nincs módváltás (“szöveg beszúrása”, “mozgás és parancsok megadása”) (lásd a vi előnyeit; metakey akkordokat használ).
- Bővebb parancskészlet, mint a vi.
- Nem ASCII nyelvek támogatása(kínai, …).
- Bővíthető és testre szabható (Lisp programozási nyelvváltozat – Emacs Lisp); néhány szép funkció felsorolása:
- Speciális szerkesztési módok számos programozási, jelölési, szedési nyelvhez (Bash, C, Java, Lisp, LaTex, Wikipedia ….).
- A vi-t is képes emulálni (úgynevezett “viper-mode”).
- Képes számításokat végezni a maja és diszkordiai naptárakban (GNU Emacs).
Történeti megjegyzés:
- Az Emacs korábban tartalmazott egy hasznos, a kilépést magyarázó képernyőt, amely a program indításakor jelent meg. Abban az időben a vi nem adott ilyen utalást, így sok olyan felhasználó, aki nem tudta kitalálni, hogyan kell kilépni, arra kényszerült, hogy egyszerűen kikapcsolja a terminálját.
Humor
Ritkán, a vita valamelyik pontján valaki rámutat arra, hogy az ed a szabványos szövegszerkesztő.
Egy 1984-es interjúban a vi megalkotójával, Bill Joy-jal kiderült, hogy ő maga is az ed-t használta, ami az Emacs támogatóit arra a mondásra késztette, hogy “még Bill Joy sem használja már a vi-t.”
A Richard Stallman által alapított Church of Emacs egy vicc, és bár a vi-t a “fenevad szerkesztőjének” nevezi (vi-vi-vi a 6-6-6 római számokkal) , nem ellenzi a vi használatát; inkább a saját fejlesztésű szoftvereket nevezi anatémának. (“A vi szabad szoftveres verziójának használata nem bűn, hanem vezeklés.”) Saját hírcsoportja van, az alt.religion.emacs, amelyben olyan hozzászólások vannak, amelyek állítólag ezt a paródiavallást támogatják.
Itt egy tipikus hozzászólás:
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 tréfásan Szent IGNU-ciusnak, az Emacs egyház szentjének nyilvánította magát.
A vi támogatói létrehozták a vi ellentétes kultuszát, amit a keményvonalasabb Emacs-felhasználók azzal érvelnek, hogy ez egy kísérlet arra, hogy “utánozzák a jobbjaikat”.
A vi modális természetével kapcsolatban néhány Emacs-felhasználó azzal viccelődik, hogy a vi-nak két módja van – “többször csipog” és “mindent megtör”. A vi felhasználók szívesen viccelődnek azzal, hogy az Emacs billentyűsorozatai karpális alagút szindrómát okoznak, vagy megemlítik az EMACS rövidítés számos szatirikus kiterjesztésének egyikét, mint például az “Escape Meta Alt Alt Control Shift” (az Emacs módosító billentyűkre való támaszkodására utaló megjegyzés).Mások azt állítják, hogy ez a betűszó valójában azt jelenti: “Eight Megabytes And Constantly Swapping” (abban az időben, amikor ez nagy mennyiségű memóriát jelentett) vagy “EMACS Makes Any Computer Slow” (az EMACS lassít minden számítógépet) (egy rekurzív betűszó, mint amilyeneket Stallman használ), utalva az Emacs magas rendszererőforrás-igényére. A modernebb humorista a “Eventually Mallocs All Core Storage” (Végül Mallocs minden magtároló) kifejezést használja jövőbemutató szellemeskedésként. Azok, akiknek az EMACS GNU ízével van különösebb bajuk (talán egy XEmacs-rajongó), a “Generally Not Used, Except by Middle-Aged Computer Scientists” (Általában nem használják, kivéve középkorú informatikusok) kifejezést javasolhatják megfelelő kiterjesztésként.
Az Emacs kúszó featurizmusának megpiszkálásaként a vi hívei úgy írják le az Emacset, mint “egy nagyszerű operációs rendszer, amelyből csak egy tisztességes szerkesztő hiányzik”.
Az xkcd képregényben itt, itt és itt található további humor, amely a vi-t, valamint az Emacs-hez kapcsolódó Lisp-et gúnyolja http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html.
A Word War vi egy humoros Defender-szerű shoot’em up, amely a szerkesztőháborún alapul.
A szerkesztőháború jelenlegi állása
A múltban számos kis szerkesztő virágzott, amelyek az Emacs mintájára készültek vagy abból származtak. Ennek oka az volt, hogy az akkoriban rendelkezésre álló viszonylag csekély mennyiségű memóriával fontos volt takarékoskodni. Manapság, a memória bőséges mennyiségével sok vi-alik, különösen a Vim, megnőtt méretben és kódkomplexitásban. Ezek a mai vi-változatok, akárcsak a régi könnyű Emacs-változatok, hajlamosak arra, hogy az ellentétes oldal sok vélt előnyével és hátrányával rendelkezzenek. Nevezetesen, a Vim legújabb változatai több bővítménnyel rendelkezhetnek és lassabban futnak, mint az Emacs korábbi változatai. Ráadásul a modern számítógépek nagy mennyiségű RAM-jával mind a vi, mind az Emacs viszonylag könnyűnek számít az olyan nagyméretű IDE-khez képest, mint az Eclipse, amelyek a vi és az Emacs felhasználóitól egyaránt gúnyolódást váltanak ki.
A Vim és Emacs oktatókönyveket forgalmazó O’Reilly cég szerint a Vim-ből kétszer annyi fogy, mint az Emacsből. Egy paintballos rendezvényen körülbelül kétszer annyian jelentkeztek a Vimre, mint az Emacsre. Ezt egyesek úgy értelmezték, hogy körülbelül kétszer annyi ember kedveli a Vim-et, mint az Emacs-et. Megjegyezték azonban, hogy sok haladó programozó használja az Emacset és annak különböző mellékágait, köztük Linus Torvalds, aki a MicroEMACS-t használja.
Egy Q&A ülésen kilenc neves programozóval, amikor megkérdezték őket, hogy melyek a kedvenc eszközeik, hatan közülük az Emacset említették.
A vi és az emacs workalike-okon kívül a pico és annak szabad szoftveres klónja, a nano és más szerkesztők gyakran rendelkeznek saját, harmadik féltől származó szószólókkal a szerkesztők háborújában, bár nem olyan mértékben, mint a vi és az emacs.
Template:ReflistTemplate:Refbegin
- The Art of Unix Programming: Template:Cite book
Template:Refend
- Emacs források egyháza
- Szabályok, bűnök, erények, Az Emacs Egyház istenei és még sok más
- Szent Ignác – Richard Stallman ábrázolásában
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter méri, hogy melyik szerkesztő aktivistái láthatóbbak a weben
- Ed a szabványos szövegszerkesztő
- Az átirat, ahogy Richard bemutatja St. IGNUcias és az Emacs egyháza
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe