Ena razprava, ki že desetletja bega novince, se zdaj vrti okoli Vima v primerjavi z Emacsom, ki sta dva častitljiva urejevalnika besedil, ki ju ima veliko izkušenih uporabnikov Linuxa in programerjev še vedno raje kot alternativo sodobnim urejevalnikom in IDE-jem, kot so Sublime Text, Visual Studio Code ali IntelliJ.
V tem članku primerjamo Vima in Emacsa, da razložimo, zakaj je primerjava teh dveh urejevalnikov besedil podobna primerjavi jabolk in pomaranč. Do konca tega članka bi se morali odločiti, kateri od dveh urejevalnikov besedila bolj ustreza vašim potrebam in željam in ali se kljub vsemu ne bi smeli držati nečesa modernejšega.
Filozofija oblikovanja
Vim je bil prvič izdan leta 1991 kot neposredni potomec vi, veliko starejšega zaslon usmerjenega urejevalnika besedil, ki ga je prvotno razvil Bill Joy za operacijski sistem Unix. Ustvarjalec Vima, Bram Moolenaar, je prvotno urednika imenoval Vi Imitation, kasneje pa se je odločil, da bo pomen kratice spremenil v Vi Improved. Moolenaar, oboževalec odprtokodne programske opreme, je izdal podjetje Vim pod dobrodelno licenco in uporabnike, ki uživajo v urejevalniku besedil, spodbudil, da donirajo otrokom v Ugandi.
Tako kot Vi je tudi Vim namenjen hitri, lahko dostopni in izjemno vsestranski uporabi. Na voljo je vnaprej nameščen v večini distribucij Linuxa in je na voljo za skoraj vse operacijske sisteme. Ker je Vim povsod, se vam splača poznati vsaj osnove, saj nikoli ne veste, kdaj boste morali urediti besedilno datoteko v sistemu, ki nima vašega najljubšega urejevalnika besedil.
Emacs obstaja od leta 1976 in njegovo ime pomeni Editor MACroS. Različica Emacsa, ki jo danes uporablja večina ljudi, se imenuje GNU Emacs, ki jo je ustvaril nihče drug kot ustanovitelj projekta GNU Richard Stallman. Tako kot Vim tudi Emacs deluje v osnovi na vseh operacijskih sistemih, na katere boste kdaj naleteli. Ker pa gre za razmeroma velik del programske opreme, običajno ni vnaprej nameščen.
Razlog, zakaj je Emacs velik, je povezan s tem, da je operacijskemu sistemu precej bližje kot urejevalniku besedil. Vsebuje celoten programski jezik Turinga, Emacs Lisp, ki omogoča prilagajanje in razširitev Emacsa na načine, da ima um težave pri razumevanju. Za ponazoritev, kaj mislimo, vas pozivamo, da obiščete spletno stran GNEVE, video urejevalnika za Emacs.
Enostavnost uporabe
Zgornja slika odlično ponazarja učne krivulje Vi / Vim, Emacs in drugih priljubljenih urejevalnikov besedil. Z Vimom morate za začetek vse, kar potrebujete, odpreti skoraj vsako goljufico, ki jo najdete v Google Images, v ločenem oknu in se nekaj časa igrati s tipkovnicami. Sprva sploh ne boste vedeli, kako urediti besedilno datoteko, vendar ne boste potrebovali več kot nekaj ur, da boste spoznali vse osnove. Lahko celo prenesete različico grafičnega uporabniškega vmesnika VIM, kot je gVim, da dodate menije in orodne vrstice za pogosto uporabljene ukaze, kar olajša učenje urejevalnika.
Emacs je nekako podoben igri s peskovnikom. Začnete z neoznačeno rjavo škatlo, opremljeno z orodji, ki lahko dosežejo skoraj vse, kar si lahko predstavljate, vključno z urejanjem besedilnih datotek. Edina težava je, da ni očitnega načina, kako pristopiti k temu peskovniku. Čeprav v spletu obstajajo varalnice in vadnice, vendar lahko z njimi preživite ure in komaj opraskate površino tega, kar lahko naredi Emacs. Da, izredno koristno je poznati Emacsove vhode in izstope, vendar se vprašajte, ali se je potovanje vredno potruditi.
Produktivnost
Vim je hiter urejevalnik besedil, ki se takoj odpre in svojim uporabnikom predstavi dva načina: način vstavljanja in ukazni način. Pri prvem vtipkate besedilo v urejevalnik, pri drugem pa vnesete bližnjične tipke za izvajanje različnih ukazov. Emacs se zažene nekoliko dlje in je brez mode, tako kot večina urejevalnikov besedil danes.
Čeprav lahko Emacs traja do 2-3 sekunde, da se naloži na starejše sisteme, večina uporabnikov sploh ne moti, ker ga nikoli ne zaprejo. Namesto tega odprejo Emacsa v lupinskem načinu in jim omogočijo, da lupino zaženejo v Emacu, namesto obratno. Z lupino, ki se izvaja v Emacsu, lahko bolj ali manj živite v programski opremi 24 ur na dan, 7 dni v tednu, in z njo lahko počnete vse, od poslušanja glasbe do zapisovanja do igranja iger.
Ni treba posebej poudarjati, da je z Emacsom enostavno zamotiti, če ste tip človeka, ki se rad ukvarja s programsko opremo. Če pa boste uspeli ostati osredotočeni in z Emacsom izboljšati svoj potek dela, lahko vaša storilnost naraste v nebo. Za čisto urejanje besedila je Vim običajno hitrejši, vendar imajo izkušnje pri tem zelo pomembno vlogo.
Prilagodljivost in razširljivost
Tako Vim kot Emacs podpirata vtičnike, ki lahko izboljšajo njihovo funkcionalnost, Emacs s svojim programskim jezikom Emacs Lisp korak naprej prilagodi in razširi. Ker je Emacs Lisp Touring popoln, so njegove zmogljivosti neomejene.
Bi radi iskali Google neposredno iz Emacsa? Preprosto zaženite naslednjo kodo Emacs Lips, vnesite M-x prelude-google in ta novi ukaz bo takoj deloval:
(defun prelude-google ()"Googla poizvedbo ali regijo, če obstaja."
(interaktivno)
(brskaj-url
(concat
"http: // www.google.com / iskanje?ie = utf-8 & oe = utf-8 & q = "
(če je oznaka aktivna
(buffer-substring (regija-začetek) (regija-konec))
(beri niz "Google:")))))
Če želite izvedeti več o impresivni razširljivosti Emacsa, vam priporočamo, da preberete članek, ki ga je napisal Božidar Batsov, avtor zgornjega delčka kode.
Ko uporabniki Vima menijo, da jim manjka določena funkcionalnost, običajno vzamejo enega od tisoč in tisoč takoj dostopnih vtičnikov Vim. Lahko pa uporabljajo tudi Vimscript, Vimov notranji skriptni jezik. Tako Vim kot Emacs dodatno podpirata teme, zato vam nič ne preprečuje, da bi se pretvarjali, da ste Neo iz Matrice.
Zaključek
Kot smo že povedali na začetku, je primerjava Vima z Emacsom podobna primerjavi jabolk in pomaranč. Eden je sposoben urejevalnik besedil s številnimi naprednimi funkcijami, namenjenimi močnejšim uporabnikom, drugi pa je peskovnik, ki je ravno primeren za urejanje besedilnih datotek. Če ste zadovoljni s svojim trenutnim potekom dela in želite samo alternativo sodobnim urejevalnikom besedil, kot je Sublime Text, je Vim prava pot. Če pa bi radi popolnoma zamislili, kako urejate besedilne datoteke in pišete programske aplikacije, vam lahko Emacs ponudi vse, kar bi lahko zahtevali, in še več.
Vim:
- Bolj neposreden in enostavnejši za učenje kot Emacs.
- Bolje kot urejevalnik besedil.
- Prednameščeno v večini distribucij Linuxa.
Emacs:
- Izredno zmogljiv in neskončno razširljiv.
- Fantastična podpora za orodja GNU.
- Pooseblja miselnost programiranja.