Emacs

Emacs vs Vim

Emacs vs Vim
Objevilo se mnoho témat, na která fanoušci sdíleli své názory a hádali se navzájem proti těm, kteří se postavili proti jejich názorům. Tyto svaté války byly všude: iPhone vs. Android, Marvel vs. DC, záložky vs. prostory atd. Podobná diskuse, nad kterou se uživatelé, zejména uživatelé linuxové komunity, obvykle zahřívají, byla Emacs vs. Vimská debata, která probíhá po celá desetiletí.

Tento článek se ponoří do této dlouhé, probíhající války editorů a rozhoduje o tom, který program - Emacs nebo Vim - získá náskok před ostatními.

Co jsou Emacs a Vim?

Vim je jedním z nejstarších textových editorů založených na UNIXu. Tento textový editor je evolucí vi, textového editoru z počátků systému UNIX. Vim si po svém zavedení rychle získal popularitu, protože měl nejen zabudované téměř všechny funkce vi, ale také přidal některé další funkce, díky nimž byl mnohem výkonnější než jeho předchůdce.

Kouzlo Vimu vychází z toho, že je extrémně lehký a má rozhraní s několika režimy, z nichž každý má jiný, užitečný účel. Díky funkcím, jako je víceúrovňový undo strom, obrovská sbírka pluginů, výkonné nástroje pro manipulaci s textem a podpora desítek programovacích jazyků, je Vim pevný a vyniká jako textový editor.

Emacs je na druhé straně editor pro různé platformy s nemodálním rozhraním. Emacs je docela jako Vim, je to starý textový editor, který je už roky populární. Spíše než nazývat jej textovým editorem je však Emacs mnohem víc, něco jako to, co byste nazvali operačním systémem. Emacs, známý svou vysoce rozšiřitelností, lze snadno vyladit a přizpůsobit a umožňuje implementaci různých funkcí a metod, což jasně ukazuje, jak silný může být tento nástroj. Emacs podporuje velké množství balíčků a rozšíření a uživatelé je mohou použít k další konfiguraci tohoto programu, díky čemuž je ještě výkonnější než dříve.

Po krátkém úvodu k tomu, co každý editor nabízí, se podívejme na některé z funkcí, které Emacs i Vim poskytují.

1) Více než textový editor

Emacs i Vim jako textoví editori vynikají v práci, kterou mají dělat. Oba editoři kromě podpory funkcí, které přinášejí to nejlepší z vývoje, obsahují podporu pro více jazyků. Oba tito redaktoři mohou dělat téměř cokoli, co si dokážete představit.

Rozdíl mezi těmito dvěma vychází ze skutečnosti, že na rozdíl od Vim Emacs není jen textový editor, ale spíše má prostředí podobné IDE. Jinými slovy, Emacs je plnohodnotný stroj lisp, rozhraní, které svým uživatelům nabízí více nástrojů a vytváří zcela otevřený svět, kde mohou být uživatelé online 24/7 a žít uvnitř programu.

Například na rozdíl od uživatelů Vim, kteří musí terminál používat samostatně, aby mohli program používat, přichází Emacs s vlastním vestavěným shellem.

Uživatelé Emacsu mají také přístup k funkcím, jako je webový prohlížeč, psaní poznámek a organizování souborů, a také k více hrám, jako je Tetris.

Webový prohlížeč:

Režim organizace - organizátor:

Tetris:

Jak je patrné z výše uvedených příkladů, editace textu je jen jedním z mnoha tuctů funkcí obsažených v Emacsu.

2) Přizpůsobitelnost

Emacs i Vim jsou známí tím, že jsou extrémně přizpůsobitelné a všestranné a mají spoustu pluginů a rozšíření, které pomáhají konfigurovat programy přidáním dalších funkcí.

Emacs posune tento krok o krok dále pomocí programovacího jazyka lisp. V programu Emacs můžete implementovat a předefinovat téměř cokoli pomocí lisp.

Řekněme například, že chcete definovat funkci, která po spuštění spustí Bing ve webovém prohlížeči. To lze snadno implementovat v Emacsu pomocí lisp. Chcete-li přidat tuto funkci do Emacsu, je třeba do inicializačního souboru Emcas (~ /.soubor emacs):

(defun searcher ()
(interaktivní)
(procházet-url
„https: // www.bing.com / "))

Pro ty, kteří používají Vim, Emacs také poskytuje uživatelům balíčky, které jim umožňují dosáhnout chování podobného Vimu uvnitř Emacsu. Nejznámějším balíčkem je režim Evil, což je extrémně výkonný režim Emacs, který zcela emuluje vi a také se jej snaží rozšířit přidáním kompatibilnějších a výkonnějších funkcí.

3) Uživatelsky přívětivé rozhraní

Jak bylo uvedeno výše, Vim je modální editor, což znamená, že má několik režimů pro provádění různých funkcí. Pro začátečníky se to může zdát obtížné, protože přechod z jednoho režimu do druhého a naučení práce s textem v každém režimu se na začátku může ukázat jako docela komplikované.

Na druhou stranu se Emacs zdá být přístupnější novým uživatelům, protože má nemodální rozhraní a klíčové vazby se nezdají být tak cizí.

 4) Elisp vs Vim Script

Elisp a vim script jsou programovací jazyky definované pro Emacs a Vim. Tyto skripty se používají k psaní funkcí a doplňků k dalšímu rozšíření možností editorů. Při srovnávání těchto dvou jazyků vedle sebe Elisp natahuje vim s velkým okrajem. Ve srovnání s Elisp je skript vim mnohem obtížnější konfigurovat a má velmi málo knihoven, se kterými lze pracovat. Elisp však stojí v srdci Emacsu a je považován za dostatečně silného na to, aby cokoli implementoval.

Proč je Emacs lepší než Vim?

Emacs i Vim jsou vynikajícími nástroji pro úpravy souborů všech typů programovacích jazyků. Oba jsou extrémně výkonné a svým uživatelům poskytují velké sady nástrojů pro práci. Emacs však má nejen editační nástroje, které má Vim, ale také je rozšiřuje poskytováním dalších funkcí, jako je e-mailový klient, debugger atd.

I při všech těchto funkcích vám Emacs umožňuje další přizpůsobení a přidání funkcí, což je dobrým ukazatelem síly a složitosti, která v jádru Emacsu existuje. Protože je Emacs nekonečně rozšiřitelný, stojí nad Vimem hlavou a rameny.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...