La cosa interessante di Vim ed Emacs non è semplicemente la velocità con cui puoi lavorare. È il semplice fatto che Vim ed Emacs ti consentono di modificare il tuo testo quasi alla velocità con cui pensi di apportare le modifiche. Poiché non hai bisogno di effettuare selezioni, passare al mouse o dare la caccia ai menu, la tua mente è libera di concentrarti su ciò che è importante mentre modifichi: il tuo codice.
Questo vuol dire che quando scrivi il codice, c'è solo una cosa a cui vuoi pensare: cosa deve fare il tuo codice e come deve farlo. Ogni volta che ti fermi per apportare modifiche al codice che hai scritto, si tratta di un'interruzione; sei costretto a non pensare a cosa sta facendo il tuo codice ma a come apportare le modifiche necessarie. Quindi, invece di tornare indietro e fare una selezione visiva e cambiare la mia modalità di pensiero, dalla scrittura del codice all'editing di testo, Vim ed Emacs mi permettono di eseguire la modifica e di farla con essa, senza dover spendere più energia mentale sul compito di apportare il cambiamento.
E quando togli la mano dalla tastiera per afferrare il mouse, è un altro tipo di interruttore di contesto: non stai più pensando al codice, ma al testo che puoi vedere sullo schermo e agli elementi visivi che circondano la tua area di modifica. Quindi, devi tornare al codice di scrittura, mentre la tua mano cerca le chiavi di casa. Con Vim o Emacs, questo interruttore di contesto non deve mai essere fatto e la tua mente non ha mai bisogno di lasciare il compito a portata di mano: quello di scrivere il codice.
Un sacco di persone, me compreso, usano Vim o Emacs come strumenti preferiti perché sono liberatori nel senso che passi meno tempo a pensare al montaggio e più a quali modifiche stai apportando. Perché, in realtà, cosa è la programmazione, ma linee di testo giocoleria?
Plugins and extensions? I bet nothing comes close to R# or IDEA in terms of refactoring support [...]
Esistono questi tipi di strumenti. Suggerimenti e metodi abbondano. L'unico limite a Vim ed Emacs è che il loro scopo principale è la modifica del testo. Ma questo non impedisce a nessuno di trasformarlo in un ombrello sotto il quale è stato costruito l'intero IDE.
Penso che la fonte della tua costernazione sia che scegli di non vedere il valore in Vim ed Emacs. Va bene. Non ho intenzione di provare a convertirti.
Ma dirò che dopo aver provato ogni editor di testo e IDE che ho incontrato, torno ancora a Vim. Mi sento a mio agio, sono contento degli strumenti che mi fornisce e il mio desktop Linux soddisfa ogni mia esigenza come IDE, tutto nella finestra del terminale. Mi ha reso dipendente dalla peculiare struttura di comando di Vim, ma poiché Vim corre ovunque, non è mai stato un ostacolo; solo un vantaggio.