Emacs

Vim vs Emacs Detaljerad jämförelse

Vim vs Emacs Detaljerad jämförelse
Linux-communityn är inte främmande för heta debatter. Från att diskutera fördelar och nackdelar med proprietär kontra programvara med öppen källkod till att försvara sina favoritdistributioner med en riddares iver som försvarar det sista tvivlet, kan Linux-användare vara extremt åsikterna, vilket inte gör det enkelt för nykomlingar att hitta användbar, opartisk information.

En debatt som har förvirrat nykomlingar i årtionden nu kretsar kring Vim kontra Emacs, som är två vördnadsvärda textredigerare som många erfarna Linux-användare och programmerare fortfarande föredrar som alternativ till moderna redaktörer och IDE som Sublime Text, Visual Studio Code eller IntelliJ.

I den här artikeln jämför vi Vim och Emacs för att förklara varför att jämföra dessa två textredigerare är som att jämföra äpplen med apelsiner. I slutet av den här artikeln borde du kunna bestämma vilken av de två textredigerarna som passar dina behov och preferenser mer och om du trots allt inte ska hålla fast vid något mer modernt.

Designfilosofi

Vim släpptes först 1991 som en direkt ättling till vi, en mycket äldre skärmorienterad textredigerare som ursprungligen utvecklades av Bill Joy för Unix-operativsystemet. Vims skapare, Bram Moolenaar, kallades ursprungligen redaktören Vi Imitation, men senare bestämde han sig för att ändra betydelsen av akronymen till Vi Improved. Ett fan av öppen källkodsprogramvara, Moolenaar släppte Vim under en välgörenhetslicens och uppmuntrade användare som gillar textredigeraren att donera till barn i Uganda.

Precis som Vi är Vim avsedd att vara snabb, lättillgänglig och extremt mångsidig. Den levereras förinstallerad på de flesta Linux-distributioner, och den är tillgänglig för praktiskt taget alla operativsystem. Eftersom Vim finns överallt, lönar det sig att veta åtminstone grunderna eftersom du aldrig vet när du behöver redigera en textfil i ett system som inte har din favorittextredigerare.

Emacs har funnits sedan 1976 och namnet står för Editor MACroS. Den version av Emacs som de flesta använder idag kallas GNU Emacs, som skapades av ingen annan än GNU-projektets grundare Richard Stallman. Precis som Vim, kör Emacs i princip alla operativsystem du någonsin kommer att stöta på. Men eftersom det är en relativt stor mjukvara kommer den vanligtvis inte förinstallerad.

Anledningen till att Emacs är stort har allt att göra med att det är mycket närmare ett operativsystem än en textredigerare. Den har ett Turing-komplett programmeringsspråk, Emacs Lisp, vilket gör det möjligt att anpassa och förlänga Emacs på ett sätt som sinnet har svårt att förstå. För att illustrera vad vi menar, uppmuntrar vi dig att besöka webbplatsen för GNEVE, en videoredigerare för Emacs.

Enkel användning

Bilden ovan illustrerar perfekt inlärningskurvorna för Vi / Vim, Emacs och andra populära textredigerare. Med Vim är allt du behöver göra för att komma igång öppet nästan alla cheatsheet du hittar på Google Bilder i ett separat fönster och spela med tangentbindningarna ett tag. Inledningsvis vet du inte ens hur du redigerar en textfil, men det tar inte mer än ett par timmar att känna till alla grunderna.  Du kan även ladda ner en GUI-version av VIM, till exempel gVim, för att lägga till menyer och verktygsfält för vanliga kommandon, vilket gör redaktören ännu lättare att lära sig.

Emacs är som ett sandlådesspel. Du börjar med en omärkt brun låda som är fylld med verktyg som kan utföra nästan vad du än kan tänka dig, inklusive redigering av textfiler. Det enda problemet är att det inte finns något självklart sätt att närma sig den här sandlådan. Även om det finns cheatsheets och tutorials online, men du kan spendera timmar med dem, och du kommer knappt att repa ytan på vad Emacs kan göra. Ja, det kan vara extremt givande att känna till Emacs ins och outs, men du bör fråga dig själv om resan är värt ansträngningen.

Produktivitet

Vim är en snabb textredigerare som öppnas direkt och presenterar sina användare med två lägen: infoga läge och kommandoläge. Den förstnämnda är där du skriver in text i redigeraren, medan den senare är där du anger kortkommandon för att utföra olika kommandon. Emacs tar lite längre tid att starta, och det är modelllöst, precis som de flesta textredigerare idag.

Även om Emacs kan ta så mycket som 2-3 sekunder att ladda på äldre system bryr sig de flesta inte alls om att de aldrig stänger det. Istället öppnar de Emacs i skalläge, så att de kan köra skal i Emacs, istället för tvärtom. Med skal som körs i Emacs kan du mer eller mindre leva inne i programvaran 24/7 och använda den för att göra allt från att lyssna på musik till att anteckna till att spela spel.

Det är självklart att det är lätt att bli distraherad av Emacs om du är den typ av person som gillar att tippa med programvara. Men om du lyckas hålla fokus och använda Emacs för att förbättra ditt arbetsflöde kan din produktivitet skjuta i höjden. För ren textredigering är Vim vanligtvis snabbare, men erfarenhet spelar en stor roll i detta avseende.

Anpassningsbarhet och utbyggbarhet

Både Vim och Emacs stöder plugins som kan förbättra deras funktionalitet, Emacs tar anpassningsbarhet och utbyggbarhet ett steg längre med sitt Emacs Lisp programmeringsspråk. Eftersom Emacs Lisp är Touring komplett är dess möjligheter obegränsade.

Vill du söka på Google direkt från Emacs? Kör bara följande Emacs Lips-kod, skriv M-x prelude-google, och det här nya kommandot fungerar omedelbart:

(defun prelude-google ()
"Googlar en fråga eller region om någon."
(interaktiv)
(browse-url
(concat
"http: // www.Google.com / sök?ie = utf-8 & oe = utf-8 & q = "
(om mark-aktiv
(buffert-substring (region-början) (region-slutet))
(lässträng "Google:")))))

För att lära dig mer om Emacs imponerande töjbarhet rekommenderar vi att du läser den här artikeln skriven av Bozhidar Batsov, författaren till kodavsnittet ovan.

När Vim-användare känner att de saknar viss funktionalitet tar de vanligtvis en av de tusentals lätt tillgängliga Vim-pluginsna. De kan dock också använda Vimscript, Vims interna skriptspråk. Både Vim och Emacs stöder dessutom teman, så det finns inget som hindrar dig från att låtsas vara Neo från Matrix.

Slutsats

Som vi har sagt i början är att jämföra Vim med Emacs som att jämföra äpplen med apelsiner. Den ena är kapabel textredigerare med många avancerade funktioner riktade till kraftanvändare, medan den andra är en sandlåda som bara råkar vara bra för redigering av textfiler. Om du är nöjd med ditt nuvarande arbetsflöde och bara vill ha ett alternativ till moderna textredigerare som Sublime Text, är Vim vägen att gå. Men om du vill helt föreställa dig hur du redigerar textfiler och skriver programvara kan Emacs ge dig allt du kan be om och mer.

Vim:

Emacs:

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...