Válka editorů je v informatice označení pro soupeření mezi uživateli textových editorů Emacs a Vi (Vim). Toto soupeření se stalo trvalou součástí hackerské kultury a hnutí svobodného softwaru. Oba editory pocházející ze 70. let 20. století jsou velmi oblíbené v unixových systémech a existují i varianty pro systémy Microsoft Windows.
Mnoho flamewarů bylo vedeno mezi skupinami lidí, které tvrdily, že jejich editor je vzorem perfektního editoru, a urážely ostatní. Podobné „bitvy“ byly vedeny o operační systémy, programovací jazyky, verzovací systémy a dokonce i odsazování ve zdrojových kódech.[1][2][3]
Nejdůležitější rozdíly mezi Emacs a vi jsou uvedeny v následující tabulce:
vi | Emacs | |
---|---|---|
Klávesové zkratky | vi uchovává každou permutaci napsaných kláves. To vytváří cestu v rozhodovacím stromu což zajistí jednoznačnou identifikaci každého příkazu. | Příkazy v Emacsu jsou tvořeny stiskem kombinace kláves, tedy dokud jednu nebo víc kláves držíte, program čeká na dokončení a puštění poslední z kláves. Tato forma vytvoří čistý rozhodovací strom, tvořený pouze příkazy, ne jednotlivými stisky kláves. Vimem inspirovaný balíček pro Emacs (undo-tree) poskytuje uživatelské rozhraní ke stromu.[4] |
Využití paměti a přizpůsobitelnost | vi je menší a rychlejší program, ale s menší možností přizpůsobení. Verze vim programu vi se vyvinula tak, že poskytuje daleko více funkcí a možností přizpůsobení než vi, čím se stává srovnatelný s Emacs. vi startuje pro malé soubory téměř okamžitě a vim je téměř stejně rychlý. | Emacs při startu vykonává mnoho akcí, mezi nimiž mnohé mohou i uživatelské funkce.[5] Proto je start Emacsu pomalejší (i ve srovnání s vim) a vyžaduje daleko více paměti. Na druhou stranu je Emacs velmi přizpůsobitelný a obsahuje množství funkcí, protože se v podstatě jedná o Lispový program upravený na editaci textu. Emacs má od verze 18 (vydané v roce 1987) serverový mód[6] navržený tak, aby běžel neustále na pozadí. |
Uživatelské prostředí | vi je určen pro textový režim bez grafického uživatelského rozhraní (GUI). Mnoho moderních odvozenin vi již GUI obsahuje. Stále však neumožňuje používat více druhů a velikostí písma v jednom dokumentu[7] | Emacs byl původně určen pro použití v příkazové řádce, nicméně se velice rozrostl a ve verzi 18 byla přidána podpora X11 GUI a byla zavedena jako výchozí ve verzi 19. Nynější Emacs GUI plně podporuje používání více druhů a velikostí písma v jednom dokumentu. Emacs také podporuje vkládání obrázků a hypertextových odkazů. |
Navigační interface | vi používá různé editační režimy. | Emacs používá speciální klávesy (⇧ Shift, ctrl, ...) při stisknutí těchto definovaných kláves se čeká na stisknutí dalších tlačítek, jejichž správná kombinace vytváří klávesové zkratky. |
Klávesnice | vi nepoužívá Alt a zřídka používá klávesu Ctrl. vi je primárně omezen na alfanumerické klávesy a klávesu escape. | Jméno Emacs se žertovně vysvětluje jako zkratka Escape, Meta, Alt, Control, Shift, což je jen část modifikačních kláves, které používá. Existuje spousta rozšíření jako spacemacs[8] nebo ergoemacs[9] které nahrazují všechny tyto klávesy několika jednoduššími. Emacs také poskytuje možnost zapnutí našeptávače. |
Jazyk a podpora nelatinkových písem | vi má již v základu podporu pro jiné jazyky než angličtinu, Vim je částečně vícejazyčný s podporou pro evropské jazyky, arabštinu, hebrejštinu i pro východoasijské jazyky. Chybí však podpora indických jazyků. | Emacs má plnou podporu Unicode kompatibilních systémů psaní.[10] |
V tomto článku byl použit překlad textu z článku Editor war na anglické Wikipedii.