Questo articolo si tuffa in questa lunga guerra editrice in corso e prende una decisione su quale programma - EMACS o VIM - prende il vantaggio sull'altro.
Cosa sono Emacs e Vim?
Vim è uno dei più antichi redattori di testo basati su Unix. Questo editor di testo è un'evoluzione di VI, un editor di testo dei primi giorni di Unix. Vim ha rapidamente guadagnato popolarità dopo la sua introduzione, in quanto non solo aveva quasi tutte le caratteristiche 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 con un'interfaccia con diverse modalità, ognuna con uno scopo diverso e utile. Con caratteristiche come un albero di una navigazione multilivello, una vasta collezione di plugin, potenti strumenti di manipolazione del testo e supporto per dozzine di linguaggi di programmazione, Vim è solido ed eccelle come editor di testo.
Emacs, d'altra parte, è un editor a piattaforma multipla con un'interfaccia non modale. Emacs è abbastanza simile a Vim, essendo un vecchio editore di testo che è 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. Noto per essere altamente estensibile, gli EMAC sono facili da modificare e personalizzare e consente l'implementazione di diverse funzioni e metodi, il che fornisce una chiara indicazione di quanto possa essere potente questo strumento. EMACS ha supporto per un'abbondanza di pacchetti ed estensioni e gli utenti possono utilizzarli per configurare ulteriormente questo programma, rendendolo ancora più potente di prima.
Con una breve introduzione su ciò che ogni editore offre completato, guardiamo ora alcune delle funzionalità che sia Emacs che Vim forniscono.
1) Più di un editor di testo
Come redattori di testo, sia Emacs che Vim eccellono nel lavoro che dovrebbero fare. Entrambi i redattori contengono supporto per più lingue, oltre a fornire funzionalità che provengono il meglio di uno sviluppatore. Entrambi questi redattori possono fare tutto ciò che puoi immaginare.
La differenza tra questi due deriva dal fatto che, a differenza di Vim, Emacs non è solo un editor di testo, ma piuttosto ha un ambiente simile a IDE. In altre parole, EMACS è una macchina LISP a pieno titolo, un'interfaccia che offre più strumenti ai suoi utenti e crea un mondo completamente aperto, in cui gli utenti possono essere online 24/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 viene fornito con un guscio integrato.
Gli utenti EMACS hanno anche accesso a funzionalità come un browser Web, prese di appunti e organizzazioni, nonché più giochi, come Tetris.
Programma di navigazione in rete:
Org -Mode - Organizer:
Tetris:
Come visto dagli esempi di cui sopra, l'editing di testo è solo un aspetto tra le dozzine di caratteristiche presenti negli emacs.
2) personalizzabilità
Sia EMACS che VIM sono noti per essere estremamente personalizzabili e versatili, con un'abbondanza di plugin ed estensioni per aiutare a configurare i programmi aggiungendo più funzionalità.
Emacs fa un ulteriore passo avanti usando il linguaggio di programmazione LISP. Puoi implementare e ridefinire quasi tutto in Emacs usando LISP.
Ad esempio, supponiamo che tu voglia definire una funzione, che dopo l'esecuzione, esegue Bing nel browser Web. Questo può essere facilmente implementato in EMACS usando LISP. Per aggiungere questa funzione a EMACS, è necessario aggiungere le seguenti righe di codice al file di inizializzazione EMCAS (~/ ~/.File Emacs):
(Defun Searder ()Per coloro che utilizzavano VIM, EMACS fornisce anche agli utenti 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 espandersi su di esso aggiungendo caratteristiche 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à a un'altra e imparare a gestire il testo in ogni modalità può rivelarsi abbastanza complicato all'inizio.
Emacs, d'altra parte, sembra essere più accessibile ai nuovi utenti, in quanto ha un'interfaccia non modale e i legami chiave non sembrano essere che stranieri.
4) ELISP vs VIM Script
ELISP e VIM Script sono i linguaggi di programmazione definiti rispettivamente per EMACS e VIM. Questi script vengono utilizzati per la scrittura di funzioni e plugin per estendere ulteriormente le capacità degli editori. Quando si confronta queste due lingue fianco a fianco, ELISP si distingue con un ampio margine. Rispetto a ELISP, VIM Script è molto più difficile da configurare e ha pochissime librerie con cui lavorare. ELISP, tuttavia, si trova al centro di Emacs ed è considerato abbastanza potente da implementare qualsiasi cosa.
Perché Emacs è migliore di Vim?
Sia EMACS che VIM sono strumenti eccellenti per la modifica di file di tutti i tipi di linguaggi di programmazione. Entrambi sono estremamente potenti e forniscono grandi serie di strumenti con cui i loro utenti possono lavorare. Tuttavia, EMACS non ha solo gli strumenti di editing che Vim ha, ma si espande anche su di essi fornendo funzionalità aggiuntive, come client di posta elettronica, debugger, ecc.
Anche con tutte queste caratteristiche presenti, EMACS ti consente di personalizzarlo e aggiungere funzionalità ad esso, che è una bella indicazione del potere e della complessità che esiste al centro di EMACS. Essendo infinitamente estensibili, Emacs si alza la testa e le spalle sopra Vim.