Válka editorů
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]
Rozdíly mezi Emacs a vi
[editovat | editovat zdroj]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 | editovat zdroj]- Emacs má nemodální rozhraní, tedy nemůže tvořit další například textová nebo dialogová okna.
- Jeden z nejpoužívanějších počítačových programů. Funguje na množství operačních systémů včetně většiny unixových systémů (GNU/Linux, odvozeninách jako BSDs, Solaris, AIX, IRIX, OS X[11][12] etc.), MS-DOS, Microsoft Windows,[13][14][15] AmigaOS, a OpenVMS. Emacs je velmi často standardní součástí unixových systémů.
- Serverová architektura Emacsu umožňuje připojení více klientů k jedné instanci a sdílení operační paměti.
Výhody vi-like editorů
[editovat | editovat zdroj]- 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, BSD a POSIX-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 | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Editor war na anglické Wikipedii.
- ↑ "Just Let Me Code" Archivováno 1. 5. 2015 na Wayback Machine..
- ↑ "Why Coding Style Matters" Archivováno 3. 5. 2015 na Wayback Machine..
- ↑ "Never use hard tabs".
- ↑ "undo-tree-readme.txt"
- ↑ "Startup Summary".
- ↑ "NEWS.18" Archivováno 14. 6. 2015 na Wayback Machine..
- ↑ "syntax.txt"[nedostupný zdroj].
- ↑ "spacemacs".
- ↑ "Ergoemacs".
- ↑ "International Chars".
- ↑ "Carbon Emacs Package" Archivováno 25. 1. 2006 na Wayback Machine.
- ↑ "Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X"
- ↑ B, Ramprasad (2005-06-24).
- ↑ Borgman, Lennart (2006).
- ↑ "GNU Emacs on Windows".
- ↑ Kozlowski, Mike.
Externí odkazy
[editovat | editovat zdroj]- Porovnání vi a Emacs – studie Williama Knottenbelta (anglicky)
- Porovnání klávesových zkratek Archivováno 17. 5. 2014 na Wayback Machine. – programů vi a Emacs (anglicky)
- Humor kolem Vi a Emacs – písničky a vtipy (anglicky)
- Výsledky Sucks-Rules-O-Meter pro vi a Emacs – script na porovnání stížností a pochval (anglicky)
- V církvi Emacs – jaké je to být a jak se stát uctívačem Emacs (anglicky)
- Emacs a emulace vi – zpřístupnění funkcionalit vi v Emacs (anglicky)
- Porovnání Emacs a vi – jiný pohled na jejich srovnání (anglicky)
- Kterou velikost použít? – pojednání o správných velikostech písem (anglicky)