Emacs un Vim ir divi visplašāk izmantotie teksta redaktori vietnē
Vim izmanto rediģēšanas režīmus - visbiežāk komandu režīms un ievietošanas režīms. Vim mērķis ir samazināt to taustiņsitienu skaitu, kas ir jānospiež lietotājam, jo vi, uz kura pamatā ir Vim, tika paredzēts lietošanai lēnos termināļos.
Emacs izmanto modificēšanas taustiņus, lai iespējotu īsceļus, kas bieži nozīmē vairāku taustiņu vienlaikus nospiešanu vienai funkcijai. Šis Emacs aspekts bieži tiek kritizēts.
Emacs ir vieglāk iemācīties, jo tam ir dabiskāks interfeiss (lietotājiem, kas pārzina GUI balstītus teksta redaktorus). Tā kā Vim ir dažādi rediģēšanas režīmi, iesācējiem to ir nedaudz grūtāk iemācīties.
Vim entuziasti apgalvo, ka tiklīdz lietotājs iepazīstas ar Vim rediģēšanas režīmiem un komandām, tas ļauj sasniegt daudz lielāku produktivitāti un efektivitāti. Failu rediģēšana parasti notiek ātrāk ar Vim nekā ar Emacs, jo Vim tīši uz ātrumu orientētu saskarni nodrošina. Piemēram, kursora kustību var kontrolēt, izmantojot H, Dž, K, un L atslēgas normāls režīms. Tas nozīmē, ka lietotāja rokām nav jāatstāj pozīcija "mājas rinda", kas uzlabo efektivitāti, bet par papildu cenu tiek pievienota cena, jo režīma maiņa ir nepieciešama, lai izvēlētos starp kustību un teksta rediģēšanu. Emacs (ar noklusējuma konfigurāciju) lietotājs pārvieto kursoru ar saīsnēm Ctrl-B vai Ctrl-F, kas, iespējams, palēnina iesācēja lietotāju, jo ir jānospiež divi taustiņi. Produktivitātes un efektivitātes uzlabojumi Emacs ir atkarīgi no rediģēšanas vides konfigurācijas, nevis no paša redaktora.
Vim ir vieglāks nekā Emacs un patērē mazāk atmiņas. Vim aizstāvji kritizē Emacs resursu patēriņu ar mēles vaigā ierosinājumu, ka Emacs apzīmē "astoņdesmit megabaiti un pastāvīgi apmainās"..
Tomēr ar gnuclient var palaist vienu noturīgu Emacs procesu, kas vienlaikus var atbalstīt vairākus klientus. Tas paātrina startēšanas laiku un samazina kopējo atmiņas patēriņu, aizverot plaisu starp Emacs un Vim.
Kaut arī gan Vim, gan Emacs atbalsta spraudņus, kas uzlabo to funkcionalitāti, Emacs atbalsta daudz vairāk redaktora vides pielāgošanas. Šī ir neapšaubāmi vissvarīgākā emacs īpašība un ir atbildīga par lielu daļu no emacs veltīta sekošanas.
Emacs var pagarināt, izmantojot elisp, savukārt Vim ir sava iekšējā skriptu valoda, un tas atbalsta citu programmēšanas valodu izmantošanu spraudņu izstrādē.
Emacs var pagarināt lidojuma laikā, no jauna definējot iebūvētās elisp funkcijas, ierakstot jauno definīciju Emacs vai ielādējot elisp failus. Saistīto izmaiņu grupas tiek sauktas par "režīmiem", un tās var viegli konfigurēt, lai tās automātiski izmantotu noteikta veida failiem (buferiem). Tāpēc ir viegli definēt režīmus dažādām programmēšanas valodām vai ietvariem, piemēram, "lisp mode" vai "Ruby on Rails mode" vai "PHP mode". Šie režīmi var tieši modificēt pat Emacs pamata uzvedību, automātiski formatēt vai krāsot tekstu un pievienot standarta veidni vai “katlu plāksnes” tekstu, piemēram, funkciju deklarācijas un slēgumus. Tātad programmētāji uzskata, ka Emacs ir daudz vairāk pielāgojams viņu īpašajām prasībām nekā Vim. Tomēr dažiem programmētājiem var šķist, ka Vim ir labāk piemērots viņu programmēšanas videi, pateicoties tā vienādi pielāgojamajai un pilnībā modālajai darbībai.
VIM var arī pagarināt lidojuma laikā, izmantojot komandu režīmu. Komandu režīms ļauj iestatīt konfigurācijas opcijas, definēt funkcijas un izveidot makro. Faktiski Vim konfigurācijas faili ir tikai komandas, kuras var ievadīt, izmantojot komandu režīmu.
Gan Vim, gan Emacs ir grafiskas lietotāja saskarnes. Praktiski visi abu redaktoru grafiskā interfeisa izvēlnes elementi ir vienkārši veidi, kā rīkoties ar saīsnes komandu vai ātru konfigurēšanu. Redaktoru GUI praktiski nesniedz nekādas papildu funkcijas, izņemot tās, kas pieejamas CLI (komandrindas saskarne)
Emacs savam GUI izmanto XDisplay vai gtk2. Vim papildus gtk2 var izmantot arī daudzas citas GUI bibliotēkas, piemēram, gtk, gnome, gnome2, motīvs, athena un neXtaw.