Un dibattito che ha confuso i nuovi arrivati da decenni ora ruota attorno a Vim contro EMACS, che sono due venerabili redattori di testo che molti utenti e programmatori di Linux stagionati preferiscono ancora come alternative ai moderni redattori e IDE come il testo sublime, il codice di Visual Studio o Intellij.
In questo articolo, confrontiamo VIM ed EMACS per spiegare perché il confronto di questi due redattori di testo è come confrontare le mele con le arance. Entro la fine di questo articolo, dovresti essere in grado di decidere quale dei due redattori di testo si adatta di più alle tue esigenze e preferenze e se non dovresti attenersi a qualcosa di più moderno dopo tutto.
Filosofia del design
VIM è stato rilasciato per la prima volta nel 1991 come discendente diretto di VI, un editore di testo molto più antico orientato allo schermo originariamente sviluppato da Bill Joy per il sistema operativo UNIX. Il creatore di Vim, Bram Moolenaar, originariamente ha nominato l'editore VI imitazione, ma in seguito ha deciso di cambiare il significato dell'acronimo in VI è migliorato. Un fan del software open source, Moolenaar ha rilasciato VIM con una licenza di beneficenza, incoraggiando gli utenti che si divertono con l'editore di testo a donare ai bambini in Uganda.
Proprio come VI, Vim è destinato ad essere veloce, prontamente disponibile ed estremamente versatile. Viene preinstallato sulla maggior parte delle distribuzioni Linux ed è disponibile praticamente per tutti i sistemi operativi. Poiché Vim è ovunque, paga davvero conoscere almeno le basi perché non si sa mai quando dovrai modificare un file di testo su un sistema che non ha il tuo editor di testo preferito.
Emacs è in circolazione dal 1976 e il suo nome sta per l'editore Macro. La versione di EMACS che la maggior parte delle persone usa oggi si chiama GNU EMACS, creata da nessun altro che il fondatore del progetto GNU Richard Stallman. Proprio come Vim, Emacs funziona praticamente su tutti i sistemi operativi che tu abbia mai incontrato. Tuttavia, poiché è un software relativamente grande, di solito non viene preinstallato.
Il motivo per cui Emacs è grande ha tutto a che fare con il fatto che è molto più vicino a un sistema operativo che a un editor di testo. Presenta un linguaggio di programmazione completo Turing, Emacs Lisp, il che consente di personalizzare ed estendere gli emac in modi in cui la mente ha difficoltà a comprendere. Per illustrare cosa intendiamo, ti incoraggiamo a visitare il sito web di Gneve, un editor di video per EMACS.
Facilità d'uso
L'immagine sopra illustra perfettamente le curve di apprendimento di VI/VIM, EMACS e altri redattori di testo popolari. Con VIM, tutto ciò che devi fare per iniziare è aperto quasi tutti i cheatsheet che trovi su Google Images in una finestra separata e gioca con i KeyBindings per un po '. Inizialmente, non saprai nemmeno come modificare un file di testo, ma non ti vorrà più di un paio d'ore per conoscere tutte le basi. Puoi anche scaricare una versione GUI di VIM, come GVIM, per aggiungere menu e barre degli strumenti per i comandi comunemente usati, rendendo l'editor ancora più facile da imparare.
Emacs è un po 'come un gioco sandbox. Inizi con una scatola marrone senza etichetta che è piena di strumenti in grado di realizzare qualsiasi cosa tu possa immaginare, incluso la modifica dei file di testo. L'unico problema è che non esiste un modo ovvio come affrontare questa sandbox. Mentre ci sono frodi e tutorial online, ma puoi passare ore con loro e a malapena grafferai la superficie di ciò che gli Emac possono fare. Sì, può essere estremamente gratificante conoscere i dettagli di Emacs, ma dovresti chiederti se il viaggio vale lo sforzo.
Produttività
VIM è un editor di testo veloce che si apre all'istante e presenta ai suoi utenti due modalità: modalità Insert e modalità di comando. Il primo è dove si digita il testo nell'editor, mentre il secondo è dove si inseriscono scorciatoie da tastiera per eseguire vari comandi. Emacs impiega leggermente più tempo per iniziare, ed è moderato, proprio come la maggior parte dei redattori di testo oggi.
Anche se EMACS può richiedere fino a 2-3 secondi per caricare sui sistemi più vecchi, alla maggior parte degli utenti non si preoccupa affatto perché non lo chiudono mai. Invece, aprono Emacs in modalità shell, permettendo loro di eseguire shell in emacs, invece del contrario. Con Shell in esecuzione all'interno di EMACS, puoi più o meno vivere all'interno del software 24/7 e usarlo per fare di tutto, dall'ascolto alla musica per prendere appunti a giocare a giochi.
Inutile dire che è facile distrarsi con Emacs se sei il tipo di persona a cui piace armeggiare con il software. Ma se riesci a rimanere concentrati e utilizzare EMAC per migliorare il flusso di lavoro, la tua produttività può salire alle stelle. Per puro editing di testo, Vim è di solito più veloce, ma l'esperienza svolge un ruolo enorme in questo senso.
Personalizzazione ed estensibilità
Sia i plug -in di VIM che EMACS supportano che possono migliorare la loro funzionalità, EMACS fa un passo avanti con la personalizzazione e l'estensibilità con il suo linguaggio di programmazione LISP EMACS. Poiché Emacs Lisp è completo in tournée, le sue capacità sono illimitate.
Vorresti cercare Google direttamente da Emacs? Basta eseguire il seguente codice LIPS EMACS, digitare M-X Prelude-Google e questo nuovo comando funzionerà immediatamente:
(Defun Prelude-Google ()
"Googles una domanda o una regione se presente."
(interattivo)
(Browse-Url
(Concat
"http: // www.Google.com/ricerca?IE = UTF-8 e OE = UTF-8 e Q = "
(Se Mark-Active
(substring tampone (region-beginning) (region-end))
(lettura-string "Google:")))))
Per saperne di più sull'impressionante estensibilità di EMACS, ti consigliamo di leggere questo articolo scritto da Bozhidar Batsov, l'autore dello snippet di codice sopra.
Quando gli utenti di VIM sentono di perdere una certa funzionalità, in genere prendono una delle migliaia e migliaia di plugin VIM prontamente disponibili. Tuttavia, possono anche usare Vimscript, il linguaggio di scripting interno di Vim. Sia Vim che Emacs supportano anche temi, quindi non c'è nulla che ti impedisca di fingere di essere neo da Matrix.
Conclusione
Come abbiamo detto all'inizio, confrontare VIM con EMACS è come confrontare le mele con le arance. Uno è capace editore di testo con molte funzionalità avanzate rivolte agli utenti di alimentazione, mentre l'altro è una sandbox che sembra essere ottima per la modifica dei file di testo. Se sei soddisfatto del tuo flusso di lavoro attuale e desideri solo un'alternativa ai moderni redattori di testo come il testo sublime, Vim è la strada da percorrere. Ma se desideri reinventare completamente il modo in cui modifichi i file di testo e scrivi applicazioni software, EMACS può darti tutto ciò che potresti chiedere e altro ancora.