Válka editorů je obecný název pro soupeření mezi uživateli textových editorů vi a Emacs. Tato rivalita se stala trvalou součástí hackerské kultury a komunity svobodného softwaru.
Málokterý software je univerzálnější než textové editory. Mezi skupinami, které trvají na tom, že jejich zvolený editor je vzorem editační dokonalosti, a urážejí ostatní, se odehrálo mnoho plamenných válek. Většina účastníků těchto sporů si uvědomuje, že jde (z velké části) o jazykolam. S tím souvisí bitvy o operační systémy, programovací jazyky a dokonce i o styl odsazování zdrojového kódu.
Války editorů se obvykle vedou mezi vyznavači dvou nejoblíbenějších editorů na systémech podobných Unixu: vi a emacs. Spory se obvykle zaměřují na moderní implementace těchto dvou editorů, z nichž nejpopulárnější jsou vim a GNU emacs. Většina uživatelů těchto systémů je s oběma programy do jisté míry obeznámena, zná je natolik dobře, aby mohla provádět alespoň základní úpravy textu, a proto se cítí být dobře vybaveni k tomu, aby mohli posoudit, který z nich je „lepší“. Oba editory jsou rozsáhlé a mimořádně výkonné nástroje a mají poměrně strmou křivku učení, takže uživatelé investují mnoho času do poznání editoru, který používají. Výsledkem této nutné časové investice jsou uživatelé s vyhraněnějším názorem.
Rozdíly mezi vi a Emacsem
Šablona:POV Nejdůležitější rozdíly mezi vi a Emacsem jsou:
- Vi editace zachovává každou permutaci zadaných kláves. Tím se v rozhodovacím stromu vytvoří cesta, která jednoznačně identifikuje každý příkaz.
- Příkazy Emacsu jsou kombinací napsaných kláves, které se provedou okamžitě, což ponechává uživateli možnost volby, zda příkaz použije, nebo ne.
- vi je menší a rychlejší a (alespoň tradičně) má omezené možnosti přizpůsobení.
- Emacs se spouští déle a vyžaduje více paměti. Je však vysoce přizpůsobitelný a obsahuje velké množství zvonků a píšťalek, protože je to v podstatě prostředí pro spouštění programovacího jazyka Lisp, které spouští program Lisp určený pro editaci textu.
- vi se tradičně používal uvnitř konzole v textovém režimu a neměl žádné grafické uživatelské rozhraní (GUI) (i když vim ho má).
- Proto Emacs, ačkoli byl původně navržen pro použití na konzoli, si poměrně brzy vypěstoval grafické uživatelské rozhraní. Moderní verze obou poskytují různá grafická rozhraní.
Historická poznámka:
- Rozdíl v sadě funkcí a době spouštění má tendenci ovlivňovat způsob používání editorů: uživatelé vi mají tendenci do editoru opakovaně vstupovat a vystupovat z něj a pro složité úlohy používají unixový shell, zatímco uživatelé Emacsu obvykle zůstávají v editoru a pro složité úlohy používají samotný Emacs. Oba editory jsou nyní schopny vydávat příkazy z shellu.
Šablona:Copyedit
Výhody editorů podobných vi
- Sledují filozofii „Složení jednoduchých nástrojů“
- Mají malou velikost a drží se unixové filozofie „dělat jednu věc a dělat ji dobře“. Vyhněte se featuritám
- Je rychlejší než Emacs (alespoň tradičně)
- Běží ve všech systémech, které umí implementovat standardní knihovnu C, včetně DOS,Windows, Mac, BeOS a systémů kompatibilních s POSIXem
- Nabízí zjednodušený pohyb po textu (začátek|konec řádku|slovo|odstavec …)
- Umí skládat příkazy s pohybem, např.Např. 6dd smaže 6 řádků
- Umožňuje uživateli držet prsty na domovském řádku, čímž vyžaduje méně pohybu při editaci
Výhody Emacsu
- Filozofie „vše na dosah“.
- Nepřepíná režimy („vkládání textu“, „pohyb a zadávání příkazů“) (viz výhody vi; používá akordy metakey).
- Větší sada příkazů než vi.
- Podpora jazyků jiných než ASCII(čínština, …).
- Rozšiřitelný a přizpůsobitelný (varianta programovacího jazyka Lisp – Emacs Lisp); výčet některých příjemných vlastností:
- Speciální editační režimy pro velké množství programovacích, značkovacích, sazbových jazyků (Bash, C, Java, Lisp, LaTex, Wikipedia ….).
- Může také emulovat vi (známý jako „viper-mode“).
- Může provádět výpočty v mayském a diskordiánském kalendáři (GNU Emacs).
Historická poznámka:
- Dříve Emacs obsahoval pomocnou obrazovku vysvětlující ukončení, která se zobrazovala při spuštění programu. V té době vi takovou nápovědu neposkytoval, což nutilo mnoho uživatelů, kteří nemohli přijít na to, jak ukončit program, aby prostě odpojili svůj terminál.
Humor
Často se stává, že v nějakém bodě diskuse někdo poukáže na to, že ed je standardní textový editor.
Rozhovor s tvůrcem vi Billem Joyem z roku 1984 odhalil, že on sám používal ed, což vedlo zastánce Emacsu k výroku: „Ani Bill Joy už nepoužívá vi.“
Církev Emacsu, kterou založil Richard Stallman, je vtipná, a přestože označuje vi za „editor šelmy“ (vi-vi-vi je 6-6-6 v římských číslicích) , nebrání se používání vi; spíše označuje proprietární software za anathemu. („Používání free-softwarové verze vi není hřích, je to pokání.“) Má vlastní diskusní skupinu alt.religion.emacs, ve které se objevují příspěvky údajně podporující toto parodické náboženství.
Tady je typický příspěvek:
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 se žertem prohlásil za svatého IGNU-cia, světce v církvi Emacsu.
Příznivci vi vytvořili protichůdný Kult vi, o kterém tvrdší uživatelé Emacsu tvrdí, že je to snaha „opičit se po svých sázkových kancelářích“.
Ohledně modální povahy vi někteří uživatelé Emacsu žertují, že vi má dva režimy – „opakovaně pípat“ a „všechno rozbít“. Uživatelé vi rádi žertují, že klávesové sekvence Emacsu vyvolávají syndrom karpálního tunelu, nebo zmiňují jednu z mnoha satirických expanzí zkratky EMACS, například „Escape Meta Alt Control Shift“ (útok na závislost Emacsu na modifikačních klávesách).Jiní se domnívají, že tato zkratka ve skutečnosti znamená „Osm megabajtů a neustálé přepínání“ (v době, kdy to bylo velké množství paměti) nebo „EMACS zpomaluje každý počítač“ (rekurzivní zkratka podobná těm, které používá Stallman) v narážce na vysoké nároky Emacsu na systémové prostředky. Modernější humoristé používají jako svůj vtip do budoucna „Eventually Mallocs All Core Storage“. Ti, kterým vadí zejména GNU příchuť EMACSu (třeba fanoušek XEmacsu), mohou jako správné rozšíření navrhnout „Obecně nepoužívaný, s výjimkou počítačových vědců středního věku“.
Jako šťouchanec do plíživého featurismu Emacsu budou zastánci vi popisovat Emacs jako „skvělý operační systém, kterému chybí jen slušný editor“.
Další humor, který si utahuje z vi, najdete na adrese http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, stejně jako z Lispu (spojeného s Emacsem) v komiksu xkcd zde, zde a zde.
Word War vi je humorná střílečka podobná Defenderu založená na válce editorů.
Současný stav války editorů
V minulosti vzkvétalo mnoho malých editorů po vzoru Emacsu nebo z něj odvozených. Důvodem byla důležitost úspory paměti při tehdejším relativně mizivém množství, které bylo k dispozici. V dnešní době, kdy je paměti dostatek, se mnoho vi-aliků, zejména Vim, rozrostlo co do velikosti a složitosti kódu. Tyto dnešní varianty vi, stejně jako staré lehké varianty Emacsu, mají tendenci mít mnoho z vnímaných výhod a nevýhod protistrany. Konkrétně poslední verze Vimu mohou mít více rozšíření a pracují pomaleji než minulé verze Emacsu. Navíc při velkém množství paměti RAM v moderních počítačích jsou vi i Emacs relativně lehké ve srovnání s velkými IDE, jako je Eclipse, které mají tendenci sklízet posměch jak od uživatelů vi, tak od uživatelů Emacsu.
O’Reilly, společnost, která prodává výukové programy pro Vim a Emacs, tvrdí, že ten pro Vim se prodává dvakrát více než pro Emacs. Na jedné paintballové akci se do Vimu přihlásilo asi dvakrát více lidí než do Emacsu. Z toho někteří usuzují, že přibližně dvakrát více jednotlivců dává přednost Vimu před Emacsem. Nicméně se uvádí, že mnoho pokročilých programátorů používá Emacs a jeho různé odnože, včetně Linuse Torvaldse, který používá MicroEMACS.
V sezení Q&A s devíti významnými programátory na otázku, jaké jsou jejich oblíbené nástroje, šest z nich uvedlo Emacs.
Kromě workaliků vi a emacsu mají ve válce editorů často své zastánce i pico a jeho svobodný klon nano a další editory třetích stran, i když ne v takové míře jako vi a emacs.
Template:ReflistTemplate:Refbegin
- Umění unixového programování: Šablona:Citovat knihu
Šablona:Refend
- Zdroje Emacsu
- Pravidla, hříchy, ctnosti, Bohové a další z Církve Emacs
- Svatý Ignác – v podání Richarda Stallmana
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter měří, kteří aktivisté editoru jsou na webu více vidět
- Ed je standardní textový editor
- Přepis Richardova představení sv. IGNUcias a církev Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe