Válka editorů
Author
Albert FloresVá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.
Rozdíly mezi Emacs a vi
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. +more | 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. |
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. 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 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 | 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 ( . ) 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á a zřídka používá klávesu . vi je primárně omezen na alfanumerické klávesy a klávesu Klávesa Esc|. | 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 nebo ergoemacs 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í. |
Výhody Emacsu
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ů. +more 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 etc. ), MS-DOS, Microsoft Windows, 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ů
Příkazy a jejich vlastnosti lze upravovat. * Vi má modální rozhraní (které Emacs umí emulovat), a může tedy tvořit další okna (textová, dialogová, . +more). * 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
Important
Reference
Externí odkazy
[url=http://www. textfiles. +morecom/programming/vivsemacs. txt]Porovnání vi a Emacs[/url] - studie Williama Knottenbelta * [url=http://danzig. jct. ac. il/unix_class/emacs-vi-Commands. html]Porovnání klávesových zkratek[/url] - programů vi a Emacs * [url=http://www. softpanorama. org/Editors/humor. shtml]Humor kolem Vi a Emacs[/url] - písničky a vtipy * [url=https://web. archive. org/web/20041009204831/http://www. tarunz. org/~vassilii/srom/]Výsledky Sucks-Rules-O-Meter pro vi a Emacs[/url] - script na porovnání stížností a pochval * [url=http://fsfeurope. org/documents/rms-fs-2006-03-09. en. html#st-ignucias-and-the-church-of-emacs]V církvi Emacs[/url] - jaké je to být a jak se stát uctívačem Emacs * [url=http://www. emacswiki. org/emacs/ViKeys]Emacs a emulace vi[/url] - zpřístupnění funkcionalit vi v Emacs * Porovnání Emacs a vi - jiný pohled na jejich srovnání * [url=http://www. catb. org/~esr/writings/taoup/html/ch13s03. html]Kterou velikost použít. [/url] - pojednání o správných velikostech písem.