Válka editorů je v informatice označení pro soupeření mezi uživateli textových editorů EmacsVi (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]

Rozdíly mezi Emacs a vi editovat

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ýhody Emacsu editovat

Výhody vi-like editorů editovat

  • Příkazy a jejich vlastnosti lze upravovat.[16]
  • Vi má modální rozhraní (které Emacs umí emulovat), a může tedy tvořit další okna (textová, dialogová, ...).
  • Vi typicky startuje rychleji než Emacs.
  • Funguje na všech operačních systémech, které umí implementovat základní C knihovnu, tedy UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, OpenVMS, IRIX, AIX, HP-UX, BSDPOSIX-kompatibilní systémy.
  • Rozšířitelný a upravitelný skripty ve VimScriptu nebo pomocí API pro interpretované jazyky, jako jsou Python, Ruby, Perl a Lua.
  • Je všudypřítomný. V podstatě všechny Unix a Unix-like systémy obsahují implicitně editor vi (nebo jeho varianty) Vi (a editor ex, avšak nikoli editor Vim) je specifikován ve standardech POSIX.
  • Systémy pro obnovu systému, vestavěné systémy a další omezená prostředí často obsahují vi.

Příbuzná témata editovat

Reference editovat

V tomto článku byl použit překlad textu z článku Editor war na anglické Wikipedii.

Externí odkazy editovat