Emacs

Emacs vs Vim

Emacs vs Vim
Det har vært mange emner som fans har delt sine synspunkter på og argumentert med hverandre mot de som er imot deres synspunkter. Disse hellige krigene har vært overalt: iPhone vs. Android, Marvel vs. DC, faner vs. mellomrom osv. En lignende diskusjon om hvilke brukere, spesielt de i Linux-samfunnet, som har en tendens til å bli oppvarmet, har vært Emacs vs. Vim-debatt, som har pågått i flere tiår.

Denne artikkelen dykker ned i denne lange pågående redaktørkrigen og tar en avgjørelse over hvilket program - Emacs eller Vim - som tar kanten foran det andre.

Hva er Emacs og Vim?

Vim er en av de eldste UNIX-baserte tekstredigererne der ute. Denne tekstredigereren er en evolusjon av vi, en tekstredigerer fra de tidlige dagene av UNIX. Vim ble raskt populær etter introduksjonen, da den ikke bare hadde nesten alle funksjonene til vi innebygd i den, men også la til noen ekstra funksjoner som gjorde den mye kraftigere enn forgjengeren.

Sjarmen til Vim stammer fra at den er ekstremt lett og har et grensesnitt med flere moduser, hver med et annet, nyttig formål. Med funksjoner som et flernivå angre tre, en enorm samling med plugins, kraftige tekstmanipuleringsverktøy og støtte for dusinvis av programmeringsspråk, er Vim solid og utmerker seg som tekstredigerer.

Emacs er derimot en plattformredigerer med et ikke-modalt grensesnitt. Emacs er ganske som Vim, og er en gammel tekstredigerer som har vært populær i årevis. I stedet for å kalle det en tekstredigerer, er Emacs imidlertid så mye mer, noe som det du vil kalle et operativsystem. Emacs er kjent for å være svært utvidbar og er enkel å tilpasse og tilpasse, og tillater implementering av forskjellige funksjoner og metoder, som gir en klar indikasjon på hvor kraftig dette verktøyet kan være. Emacs har støtte for en overflod av pakker og utvidelser, og brukere kan bruke disse til å konfigurere dette programmet ytterligere, noe som gjør det enda kraftigere enn før.

Med en kort introduksjon om hva hver redaktør tilbyr fullført, la oss nå se på noen av funksjonene som både Emacs og Vim gir.

1) Mer enn en tekstredigerer

Som tekstredaktører utmerker både Emacs og Vim seg på jobben de er ment å gjøre. Begge redaktørene inneholder støtte for flere språk, i tillegg til å tilby funksjoner som får frem det beste fra en utvikler. Begge disse redaktørene kan omtrent gjøre alt du kan forestille deg.

Forskjellen mellom disse to skyldes at Emacs, i motsetning til Vim, ikke bare er en teksteditor, men heller har et IDE-lignende miljø. Emacs er med andre ord en fullverdig lisp-maskin, et grensesnitt som tilbyr flere verktøy til brukerne og skaper en helt åpen verden, der brukere kan være online 24/7 og leve inne i programmet.

For eksempel, i motsetning til Vim-brukere, som må åpne terminalen separat for å bruke programmet, kommer Emacs sammen med et eget innebygd skall.

Emacs-brukere har også tilgang til funksjoner som en nettleser, notater og organisering av filer, samt flere spill, som Tetris.

Nettleser:

Org-modus - Organizer:

Tetris:

Som det fremgår av eksemplene ovenfor, er tekstredigering bare ett aspekt blant de titalls funksjonene som finnes i Emacs.

2) Tilpassbarhet

Både Emacs og Vim er kjent for å være ekstremt tilpassbare og allsidige, og har en overflod av plugins og utvidelser for å konfigurere programmene ved å legge til flere funksjoner.

Emacs tar dette et skritt videre ved å bruke lisp programmeringsspråk. Du kan implementere og omdefinere nesten hva som helst i Emacs ved å bruke lisp.

Si for eksempel at du vil definere en funksjon som kjører Bing i nettleseren etter kjøring. Dette kan enkelt implementeres i Emacs ved hjelp av lisp. For å legge til denne funksjonen i Emacs, må følgende kodelinjer legges til Emcas-initialiseringsfilen (~ /.emacs-fil):

(defun searcher ()
(interaktiv)
(bla-url
"https: // www.bing.com / "))

For de som pleide å bruke Vim, gir Emacs også brukere med pakker som gjør det mulig for dem å oppnå Vim-lignende oppførsel inne i Emacs. Den mest kjente pakken er Evil mode, som er en ekstremt kraftig Emacs-modus som etterligner vi fullstendig og også prøver å utvide den ved å legge til flere kompatible og kraftige funksjoner.

3) Brukervennlig grensesnitt

Som nevnt ovenfor er Vim en modal editor, noe som betyr at den har flere moduser for å utføre forskjellige funksjoner. For nybegynnere kan dette virke vanskelig, ettersom det å bytte fra en modus til en annen og lære å håndtere tekst i hver modus kan være ganske komplisert i begynnelsen.

Emacs, derimot, ser ut til å være mer tilgjengelig for nye brukere, siden den har et ikke-modalt grensesnitt og tastebindinger ikke ser ut til å være så utenlandske.

 4) Elisp vs Vim Script

Elisp og vim script er programmeringsspråkene som er definert for henholdsvis Emacs og Vim. Disse skriptene brukes til å skrive funksjoner og plugins for å utvide evnen til redaktørene ytterligere. Når man sammenligner disse to språkene side om side, strekker Elisp seg vim med stor margin. Sammenlignet med Elisp er vim script mye vanskeligere å konfigurere og har veldig få biblioteker å jobbe med. Elisp står imidlertid i hjertet av Emacs og anses å være kraftig nok til å implementere hva som helst.

Hvorfor Emacs er bedre enn Vim?

Både Emacs og Vim er ypperlige verktøy for redigering av filer av alle typer programmeringsspråk. Begge er ekstremt kraftige og gir store sett med verktøy som brukerne kan jobbe med. Imidlertid har Emacs ikke bare redigeringsverktøyene som Vim har, men utvider dem også ved å tilby tilleggsfunksjoner, for eksempel e-postklient, feilsøking osv.

Selv med alle disse funksjonene til stede, lar Emacs deg tilpasse den ytterligere og legge til funksjonalitet til den, noe som er en fin indikasjon på kraften og kompleksiteten som finnes i kjernen av Emacs. Å være uendelig utvidbar, Emacs står hode og skuldre over Vim.

Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...
Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...