☰ menu
Pavel Satrapa

Vim a Emacs

V jednom z článků v Linuxových novinách autor napsal „...pro ty, kteří se v mládí omylem naučili vi...“. Doufám, že ode mne neočekáváte podobné chlapácké řeči v opačném směru. Prostředí Unixu, z nějž vim pochází, je prostředím pro lidi, kteří rádi svobodně volí své nástroje a kteří tuto svobodu respektují také u druhých.

Nicméně jistému srovnávání a debatám na téma „je lepší vi nebo Emacs“ se asi nelze vyhnout. Já tyto dva nástroje těžko mohu srovnávat. Sice jsem se svého času pokoušel Emacs zkrotit, ale poměrně brzy mne to přestalo bavit a pokorně jsem se vrátil do náruče vi. A to jsem ještě tehdy neznal vim...

Schopnosti a dovednosti obou editorů nedokáži porovnat, protože Emacs dostatečně neznám. Podle všeobecného mínění je vim slabší. Na druhé straně nemám pocit, že by mi v něm pro mou práci něco bolestně scházelo. Jistě je prima, že z Emacsu se dá udělat WWW klient, že si v něm můžete číst poštu a používat jej de facto jako interpret příkazů. Nicméně já jsem spokojen s Firefoxem, Thunderbirdem a zsh. Mimochodem – nebyla náhodou pramyšlenka Unixu v používání a kombinování jednoduchých, jednoúčelových, ale pro svůj účel dokonalých nástrojů? Zatím jediná věc, kterou uživatelům Emacsu celkem i závidím, je velmi pěkná podpora XML, kdy editor dokáže kontextově nabízet správné značky podle DTD.

Místo porovnávání vlastností obou editorů se raději pokusím shrnout důvody, které mne vedly k zachování věrnosti vi.

Co jsem sám prožil
  • vi je všude. Oprašuji nemalý počet počítačů a během dne je celkem intenzivně střídám. Pravděpodobnost, že se na Unixovském stroji vyskytuje vim nebo vi je prakticky 100%. Frekvence výskytu Emacsu je citelně nižší. Čili bych se stejně musel naučit alespoň základy ovládání vi. Proč se ale mám učit dva editory, když si vystačím s jedním?

  • Když jsem si četl knížku na téma „Naučte se Emacs“, pořád jsem se nedokázal vžít do jeho ovládání. Stále jsem je vnímal jako skupinu nicneříkajících kláves CTRL-něco. Silně mi chyběla vnitřní logika vi, kdy se předřazením operátoru před pohyb změní prostý pohyb na vymazání, kopírování či změnu. Tahle věc se mi moc líbí.

Co znám pouze z vyprávění (ale celkem tomu věřím)
  • Emacs startuje pomaleji. Vzhledem k velikosti obou editorů tohle považuji za pravděpodobné. Nevím, zda je rozdíl takový, aby vadil či znepříjemňoval život.

  • Emacs je příliš konfigurovatelný. Četl jsem kdesi tvrzení, že díky monumentální konfigurovatelnosti a upravitelnosti Emacsu téměř neexistují dva shodné exempláře. Jinými slovy, že věci, které člověku fungují v jeho Emacsu, zdaleka nemusí fungovat na vedlejším počítači. Domnívám se, že autor poněkud přeháněl a že zde jistě bude přinejmenším snaha po co nejvyšší míře standardizace. Na druhé straně se ovšem autor tvářil, že má s Emacsem nemalé zkušenosti.

Toto jsou příčiny, které mne vedly k odmítnutí Emacsu. Nehodlám o něm tvrdit, že je špatný, ale mně prostě vim vyhovuje více.

Pro pobavení: křivka učení běžných textových editorů.