Emacs a elán sú dva najpoužívanejšie textové editory
Vim používa režimy úprav - najčastejšie príkazový režim a režim vkladania. Cieľom Vim je minimalizovať počet stlačení klávesov, ktoré musí užívateľ stlačiť, pretože vi, na ktorých je založený Vim, bol navrhnutý na použitie cez pomalé terminály..
Emacs používa modifikačné klávesy na umožnenie skratiek, čo často vyžaduje súčasné stlačenie viacerých klávesov pre jednu funkciu. Tento aspekt Emacsu je často kritizovaný.
Emacs sa ľahšie naučí, pretože má prirodzenejšie rozhranie (pre používateľov, ktorí sú oboznámení s textovými editormi založenými na GUI). Pretože Vim má rôzne režimy úprav, pre začiatočníkov je trochu ťažšie sa ho naučiť.
Nadšenci Vimu tvrdia, že akonáhle sa užívateľ oboznámi s režimami úprav a príkazmi Vimu, umožňuje oveľa vyššiu produktivitu a efektívnosť. Úprava súborov je zvyčajne rýchlejšia ako s programom Vim ako s programom Emacs kvôli zámerne rýchlemu rozhraniu spoločnosti Vim. Napríklad pohyb kurzora sa dá ovládať pomocou H, J, K, a L kľúče v normálny režim. To znamená, že ruky používateľa nemusia opustiť pozíciu „domáceho riadku“, čo zvyšuje účinnosť, ale prichádza za cenu pridania režijnej ceny, pretože prepínanie režimu je potrebné na výber medzi úpravou pohybu a textu. V Emacs (s predvolenou konfiguráciou) používateľ pohybuje kurzorom pomocou klávesových skratiek Ctrl-B alebo Ctrl-F, čo môže začínajúceho používateľa spomaliť, pretože je potrebné stlačiť dve klávesy. Vylepšenia produktivity a efektívnosti Emacsu závisia skôr od konfigurácie edičného prostredia než od samotného editora.
Vim je ľahší ako Emacs a používa menej pamäte. Advokáti spoločnosti Vim kritizujú spotrebu zdrojov spoločnosti Emacs návrhom, ktorý hovorí, že Emacs znamená „osemdesiat megabajtov a neustále výmena“..
Avšak s gnuclientom je možné spustiť jeden trvalý proces Emacs, ktorý môže podporovať viacerých klientov súčasne. To zrýchľuje čas spustenia a znižuje celkové využitie pamäte, čím sa zmenšuje medzera medzi programami Emacs a Vim.
Zatiaľ čo doplnkové moduly Vim aj Emacs podporujú ich funkčnosť, Emacs podporuje omnoho viac prispôsobenia prostredia editora. Toto je pravdepodobne najdôležitejšia vlastnosť emacsu a je zodpovedná za veľkú časť emacsu venovaných nasledovaniu.
Emacs je možné rozšíriť v elisp, zatiaľ čo Vim má svoj vlastný interný skriptovací jazyk a podporuje použitie iných programovacích jazykov pre vývoj doplnkov.
Emacs je možné rozšíriť za chodu tým, že predefinuje vstavané funkcie elisp, buď zadaním novej definície do Emacsu alebo načítaním súborov elisp. Skupiny súvisiacich zmien sa nazývajú „režimy“ a dajú sa ľahko nakonfigurovať tak, aby sa automaticky použili pre konkrétne typy súborov (vyrovnávacie pamäte). Je preto ľahké definovať režimy pre rôzne programovacie jazyky alebo rámce, ako napríklad „režim lisp“ alebo „režim Ruby on Rails“ alebo „režim PHP“. Tieto režimy môžu priamo modifikovať aj základné správanie Emacsu, automaticky formátovať alebo vyfarbovať text a pridávať štandardné šablóny alebo texty „doštičiek“, ako sú deklarácie funkcií a uzávery. Programátori preto považujú program Emacs za oveľa prispôsobiteľnejší svojim konkrétnym požiadavkám ako Vim. Niektorí programátori však môžu nájsť program Vim, ktorý bude v konečnom dôsledku lepšie prispôsobený svojmu programovaciemu prostrediu vďaka rovnako prispôsobiteľnej a plne modálnej prevádzke..
Vim možno tiež rozšíriť za behu pomocou príkazového režimu. Príkazový režim umožňuje nastavenie možností konfigurácie, definovanie funkcií a vytváranie makier. V skutočnosti sú konfiguračné súbory pre Vim iba príkazy, ktoré je možné zadávať prostredníctvom príkazového režimu.
Vim aj Emacs majú grafické užívateľské rozhranie. Prakticky všetky položky ponuky v grafickom rozhraní pre obidva editory sú jednoducho spôsoby zvládnutia príkazu skratky alebo rýchlej konfigurácie. GUI pre editory neposkytujú prakticky žiadne ďalšie funkcie nad rámec funkcií dostupných v rozhraní CLI (rozhranie príkazového riadku).
Emacs používa pre svoje grafické rozhranie XDisplay alebo gtk2. Vim môže okrem gtk2 používať mnoho iných knižníc GUI, ako napríklad gtk, gnome, gnome2, motív, athena a neXtaw..