Emacs és életkedv a két legszélesebb körben használt szövegszerkesztő
A Vim szerkesztési módot használ - általában a parancs mód és beszúrás mód. A Vim célja, hogy minimalizálja a felhasználó által megnyomandó billentyűleütések számát, mivel a vi-t, amelyen a Vim alapul, lassú terminálokon való felhasználásra tervezték..
Az Emacs módosító gombokat használ a parancsikonok engedélyezéséhez, ami gyakran magában foglalja több gomb egyidejű megnyomását egyetlen funkcióhoz. Az Emacs ezt a szempontját gyakran bírálják.
Az Emacs könnyebben megtanulható, mivel természetesebb felülettel rendelkezik (a felhasználók számára, akik ismerik a GUI-alapú szövegszerkesztőket). Mivel a Vim különböző szerkesztési módokkal rendelkezik, a kezdőknek kicsit nehezebb megtanulni.
A Vim rajongói azt állítják, hogy ha a felhasználó megismeri a Vim szerkesztési módjait és parancsát, ez sokkal nagyobb termelékenységet és hatékonyságot tesz lehetővé. A Vim szándékosan sebességvezérelt felülete miatt a fájlszerkesztés általában gyorsabb a Vim-nél, mint az Emacs esetén. Például a kurzor mozgását a gombbal lehet szabályozni H, J, K, és L kulcsok a normál mód. Ez azt jelenti, hogy a felhasználó kezének nem kell elhagynia az "otthoni" pozíciót, ami javítja a hatékonyságot, hanem azért adja meg a fölöztetést, mivel az üzemmódváltásra van szükség a mozgás és a szövegszerkesztés közötti választáshoz. Emacs esetén (az alapértelmezett konfigurációval) a felhasználó a kurzort a Ctrl-B vagy Ctrl-F parancsikonokkal mozgatja, ami lelassíthatja a kezdő felhasználót, mivel két gombot kell megnyomni. A termelékenység és a hatékonyság javítása az Emacs-ben a szerkesztési környezet konfigurációjától függ, nem pedig maga a szerkesztő.
A Vim világosabb, mint az Emacs, és kevesebb memóriát igényel. A Vim támogatói bírálják az Emacs erőforrás-fogyasztását azzal, hogy az arc az ingerben azt állítja, hogy az Emacs "nyolcvan megabájt és folyamatosan cserélő" kifejezés..
A gnuclient segítségével azonban egyetlen állandó Emacs-folyamat futtatható, amely egyszerre több klienst képes támogatni. Ez felgyorsítja az indítási időt és csökkenti a teljes memóriafelhasználást, lezárva az Emacs és a Vim közötti rést.
Míg a Vim és az Emacs egyaránt támogatják a funkciókat javító pluginokat, az Emacs sokkal több támogatja a szerkesztő környezetét. Ez vitathatatlanul az emacs legfontosabb tulajdonsága, és felelős az emacsok szentelt követésének nagy részéért.
Az Emacs kibővíthető elisp formában, míg a Vim rendelkezik saját belső szkriptnyelvével, és támogatja más programozási nyelvek használatát a plugin fejlesztésében.
Az Emacs menet közben kibővíthető a beépített elisp funkciók újradefiniálásával, akár az új definíció gépelésével az Emacs fájlba, akár az elisp fájlok betöltésével. A kapcsolódó változtatások csoportjait "üzemmódok" -nak hívják, és könnyen konfigurálhatók automatikusan meghatározott fájltípusokhoz (pufferek) történő automatikus felhasználáshoz. Így könnyű meghatározni a különböző programozási nyelvek vagy keretek módjait, például a "lisp mode" vagy a "Ruby on Rails mode" vagy a "PHP mode" módot. Ezek az üzemmódok közvetlenül módosíthatják az Emacs alapvető viselkedését, automatikusan formázhatják vagy színezhetik a szöveget, és hozzáadhatnak egy standard sablon vagy "kazánlap" szöveget, például a funkciók deklarációit és bezárásait. A programozók tehát úgy találják, hogy az Emacs sokkal jobban testreszabható sajátos igényeikhez, mint a Vim. Ugyanakkor egyes programozók úgy találhatják, hogy a Vim végül jobban illeszkedik a programozási környezetéhez, annak ugyanolyan testreszabható és teljesen modális működése miatt.
A Vim menet közben is meghosszabbítható a parancs mód segítségével. A parancs mód lehetővé teszi a konfigurációs beállítások megadását, a funkciók meghatározását és a makrók készítését. Valójában a Vim konfigurációs fájlja csak olyan parancs, amelyet a parancs módban lehet bevinni.
Mind a Vim, mind az Emacs grafikus felhasználói felülettel rendelkezik. A grafikus felület mindkét szerkesztő számára gyakorlatilag az összes menüelem egyszerűen a parancsikon vagy a gyors konfiguráció kezelésének módja. A szerkesztők grafikus felhasználói felületei a CLI-n (parancssori felület) elérhető funkciókon kívül gyakorlatilag semmilyen kiegészítő funkciót nem nyújtanak.
Az Emacs az XDisplay-t vagy a gtk2-t használja a grafikus felhasználói felületéhez. A Vim számos más GUI könyvtárat is használhat, például gtk, gnome, gnome2, motívum, athena és neXtaw, a gtk2 mellett.