Perché uso ancora Vim

E no, non è perché non riesco a capire come chiuderlo.

Immagine: http://amzn.to/2umsBaY

Mi viene spesso chiesto perché uso Vim come editor principale, non vi è alcun motivo particolare, tranne per il fatto che ho finito per impararlo quando sono passato a Linux a tempo pieno molti anni fa. Alla fine mi è piaciuto perché potevo modificare i miei piccoli file di origine sul mio computer quad-core senza dover aspettare per sempre l'apertura del file.

Certo Vim non è un cattivo editor, è altamente estensibile, è facile sborsare su, err bene shell, è ovunque quindi quando si entra in qualche oscuro server puoi semplicemente digitare vim (o vi) e sei bravo a partire.

Ma questo non è un motivo per cui Vim è un grande editore, è una questione di gusti soggettivi. L'ho bloccato principalmente perché è un editor estensibile che non riduce tutte le risorse e uccide le mie macchine. Usando Atom o Code subisco frequenti blocchi per diversi minuti quando si digita un singolo carattere.

Quanta memoria ti aspetteresti che un editor debba aprire il seguente file C?

#include 
int main () {
  printf ("Ciao, mondo! \ n");
}

Utilizzo della memoria

La risposta è ... pazza.

Memoria utilizzata in KiB per l'apertura di un file sorgente di ~ 60 byte C.

Il codice richiede un enorme 349 megabyte per poter aprire un file di 60 byte. Atom arriva a 256 megabyte. Dove Vim "solo" ha bisogno di 5 megabyte, che è ancora piuttosto alto, ma rappresentativo di una configurazione media.

Ho anche incluso Nano per avere un altro editor di modalità di testo con cui confrontare Vim, che è uscito a meno di un megabyte.

E i file più grandi? L'apertura di un file XML da 6 megabyte in Vim richiede circa 12 megabyte. Nano è praticamente collo-e-collo con Vim. Il codice ha bisogno di 392 megabyte e Atom ha bisogno di ben 845 megabyte.

Memoria utilizzata in KiB durante l'apertura di un file XML da ~ 6 Megabyte.

Tempo di avvio

Che dire della quantità di tempo necessaria per aprire lo stesso file XML, quindi spostare il cursore alla fine? Questo racconta una storia simile. Atom e Code impiegano quasi 20 secondi. Vim impiega circa 4 secondi. Il sublime è sorprendentemente veloce qui impiegando solo un secondo.

Tempo impiegato in secondi per aprire un file XML da 6 megabyte

Fare una ricerca e sostituire 100.000 istanze di una parola nello stesso file XML produce risultati piuttosto sorprendenti. Nano e Atom fallirono, impiegando in media quasi 10 minuti per completarsi. Atom si è schiantato diverse volte nel tentativo di ottenere un risultato. Il codice ha impiegato circa 80 secondi. Sublime finito in 6 secondi. E Vim ha impiegato solo 4 secondi.

Tempo impiegato in secondi per cercare e sostituire 100000 istanze di una parola

Conclusione

Impara Vim. Vale la pena dare un'occhiata a http://vimcasts.org, che è fondamentalmente il golf di Vim, suggerimenti e trucchi fatti da Drew Neil, che ha anche scritto questo fantastico libro

Practical Vim di Drew Neil

Se non Vim, allora forse Emacs. O bene, tutto ciò che non è un browser Web mascherato da editor di testo.

È semplicemente ridicolo avere un editor che consuma tutta la potenza e la memoria di elaborazione disponibili su un laptop "moderno" costoso, quando non è necessario farlo.

I file di test utilizzati in questi benchmark sono stati presi da questo repository, i risultati sono stati mediati tra quel set di dati e il mio.