Emacs

Emacs vs Vim

Emacs vs Vim
Ci sono stati numerosi argomenti su cui i fan hanno condiviso le loro opinioni e discusso tra loro contro coloro che si opponevano alle loro opinioni. Queste guerre sante sono state ovunque: iPhone vs. Android, Marvel vs. DC, schede vs. spazi, ecc. Una discussione simile su cui gli utenti, in particolare quelli della comunità Linux, tendono a scaldarsi è stata Emacs vs. Dibattito su Vim, in corso da decenni.

Questo articolo si tuffa in questa lunga e in corso Editor War e prende una decisione su quale programma - Emacs o Vim - prende il sopravvento sull'altro.

Cosa sono Emacs e Vim?

Vim è uno dei più vecchi editor di testo basati su UNIX in circolazione. Questo editor di testo è un'evoluzione di vi, un editor di testo dei primi giorni di UNIX. Vim ha guadagnato rapidamente popolarità dopo la sua introduzione, poiché non solo aveva quasi tutte le funzionalità di vi integrate, ma ha anche aggiunto alcune funzioni aggiuntive che lo hanno reso molto più potente del suo predecessore.

Il fascino di Vim deriva dal fatto che è estremamente leggero e ha un'interfaccia con diverse modalità, ognuna con uno scopo utile diverso. Con funzionalità come un albero di annullamento multilivello, una vasta raccolta di plug-in, potenti strumenti di manipolazione del testo e supporto per dozzine di linguaggi di programmazione, Vim è solido come una roccia ed eccelle come editor di testo.

Emacs, d'altra parte, è un editor multipiattaforma con un'interfaccia non modale. Emacs è molto simile a Vim, essendo un vecchio editor di testo popolare da anni. Piuttosto che chiamarlo un editor di testo, tuttavia, Emacs è molto di più, qualcosa di simile a quello che chiameresti un sistema operativo. Conosciuto per essere altamente estensibile, Emacs è facile da modificare e personalizzare e consente l'implementazione di diverse funzioni e metodi, il che dà una chiara indicazione di quanto potente possa essere questo strumento. Emacs supporta un'abbondanza di pacchetti ed estensioni e gli utenti possono usarli per configurare ulteriormente questo programma, rendendolo ancora più potente di prima.

Con una breve introduzione su ciò che ogni editor offre completato, diamo ora un'occhiata ad alcune delle funzionalità fornite da Emacs e Vim.

1) Più di un editor di testo

Come editor di testo, sia Emacs che Vim eccellono nel lavoro che devono svolgere. Entrambi gli editor contengono il supporto per più lingue, oltre a fornire funzionalità che tirano fuori il meglio di uno sviluppatore. Entrambi questi editor possono fare qualsiasi cosa tu possa immaginare.

La differenza tra questi due nasce dal fatto che, a differenza di Vim, Emacs non è solo un editor di testo, ma ha piuttosto un ambiente tipo IDE. In altre parole, Emacs è una macchina lisp a tutti gli effetti, un'interfaccia che offre molteplici strumenti ai suoi utenti e crea un mondo completamente aperto, dove gli utenti possono essere online 24 ore su 24, 7 giorni su 7 e vivere all'interno del programma.

Ad esempio, a differenza degli utenti Vim, che devono aprire il terminale separatamente per utilizzare il programma, Emacs è dotato di una propria shell integrata.

Gli utenti di Emacs hanno anche accesso a funzionalità come un browser web, prendere appunti e organizzare i file, oltre a più giochi, come Tetris.

Programma di navigazione in rete:

Modalità organizzazione - Organizzatore:

Tetri:

Come visto dagli esempi precedenti, la modifica del testo è solo un aspetto tra la dozzina di funzionalità presenti in Emacs.

2) Personalizzabilità

Sia Emacs che Vim sono noti per essere estremamente personalizzabili e versatili, avendo un'abbondanza di plugin ed estensioni per aiutare a configurare i programmi aggiungendo più funzionalità.

Emacs fa un ulteriore passo avanti utilizzando il linguaggio di programmazione lisp. Puoi implementare e ridefinire quasi tutto in Emacs usando lisp.

Ad esempio, supponiamo di voler definire una funzione che, dopo l'esecuzione, esegue Bing nel browser web. Questo può essere facilmente implementato in Emacs usando lisp. Per aggiungere questa funzionalità a Emacs, è necessario aggiungere le seguenti righe di codice al file di inizializzazione di Emcas (~/.file emacs):

(ricercatore disfunzionale ()
(interattivo)
(URL di navigazione)
"https://www.bing.com/"))

Per coloro che sono abituati a usare Vim, Emacs fornisce agli utenti anche pacchetti che consentono loro di ottenere un comportamento simile a Vim all'interno di Emacs. Il pacchetto più noto è la modalità Evil, che è una modalità Emacs estremamente potente che emula completamente vi e cerca anche di espanderla aggiungendo funzionalità più compatibili e potenti.

3) Interfaccia intuitiva

Come accennato in precedenza, Vim è un editor modale, il che significa che ha più modalità per svolgere diverse funzioni. Per i principianti, questo potrebbe sembrare difficile, poiché passare da una modalità all'altra e imparare a gestire il testo in ciascuna modalità può rivelarsi piuttosto complicato all'inizio.

Emacs, d'altra parte, sembra essere più accessibile ai nuovi utenti, in quanto ha un'interfaccia non modale e le associazioni dei tasti non sembrano essere quelle straniere.

 4) Elisp vs script Vim

Elisp e vim script sono i linguaggi di programmazione definiti rispettivamente per Emacs e Vim. Questi script sono usati per scrivere funzioni e plugin per estendere ulteriormente le capacità degli editor. Quando si confrontano queste due lingue fianco a fianco, Elisp estende vim con un ampio margine. Rispetto a Elisp, lo script vim è molto più difficile da configurare e ha pochissime librerie con cui lavorare. Elisp, tuttavia, è al centro di Emacs ed è considerato abbastanza potente da implementare qualsiasi cosa.

Perché Emacs è meglio di Vim?

Sia Emacs che Vim sono strumenti eccellenti per modificare file di tutti i tipi di linguaggi di programmazione. Entrambi sono estremamente potenti e forniscono un ampio set di strumenti con cui gli utenti possono lavorare. Tuttavia, Emacs non solo ha gli strumenti di modifica di Vim, ma li espande anche fornendo funzionalità aggiuntive, come client di posta elettronica, debugger, ecc.

Anche con tutte queste funzionalità presenti, Emacs ti consente di personalizzarlo ulteriormente e aggiungere funzionalità, il che è una buona indicazione della potenza e della complessità che esiste al centro di Emacs. Essendo estensibile all'infinito, Emacs si trova una spanna sopra Vim.

Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...