A parte un po 'di BASIC da bambino, ho imparato a programmare su Unix. La filosofia di Unix è di avere molti strumenti più piccoli che interagiscono, ma che si concentrano sul fare un solo lavoro e farlo bene. Quindi, mi sembra naturale avere un software separato per la modifica, la compilazione, il controllo del codice sorgente e il debug. È interessante notare che gli IDE sono "integrati", ma non è possibile adattare tutte le funzionalità in un'unica finestra contemporaneamente, quindi ci si imbatte in cose come le prospettive, in cui sostanzialmente si cambiano le modalità tra quelle diverse attività, anche se con qualche sovrapposizione .
Potrei capovolgerlo e chiedere perché la gente tollera modifiche dolorosamente lente e non vim. Il modo migliore in cui posso descrivere la sensazione di guardare qualcuno modificare il codice in questo modo è come quando ti trovi bloccato dietro un'auto che va a 10 mph troppo lento perché è al telefono, o come guardare un dattilografo relativamente veloce a caccia e becco . Stanno andando abbastanza veloci per portare a termine il lavoro, ma allo stesso tempo sono abbastanza lenti da far impazzire.
Molte persone dicono che trascorrono la maggior parte del tempo a pensare comunque, quindi un montaggio un po 'più veloce non fa molta differenza. In tal caso, la digitazione è un'interruzione e alcuni secondi di modifica in più possono fare la differenza tra mantenere il treno di pensieri o doverlo riprendere. Inoltre, se sei un dattilografo di lunga data, sai che le tue dita digitano parole comuni senza che tu nemmeno pensi coscientemente quali tasti colpire. Quando sei un utente Vim da lungo tempo, questo tipo di fluidità si manifesta per cose come le linee mobili e le parole. Nel tempo necessario per dire "cancella" in "cancella quelle 2 righe" le mie dita l'hanno già fatto e la mia concentrazione è completamente ininterrotta.
Vim è anche estremamente personalizzabile e i plugin installati e vimrc si evolvono man mano che il tuo lavoro si evolve. Quando qualcosa inizia a intralciarti, cerchi un modo migliore per farlo e incorporalo nella tua configurazione o nei comandi più usati. Ho imparato vi nel 1993 e continuo a fare personalizzazioni quando i miei bisogni cambiano. Proprio questa settimana ho modificato il completamento del mio nome di tabulazione per funzionare più come bash, perché il mio flusso di lavoro è cambiato per fare molto di più di recente e il comportamento predefinito mi dava sui nervi.
Inoltre, non sono d'accordo sul fatto che non valga il tempo di imparare. Ci è voluto molto più tempo per imparare a toccare il tipo piuttosto che sentirsi produttivo in vi, per un simile aumento della velocità di modifica del codice, ma non si vedono i programmatori lamentarsi di quanto tempo ci è voluto per imparare a toccare il tipo. E puoi imparare alla tua velocità e aggiungere nuovi comandi al tuo repertorio come hai la tendenza. Se inizi con set im
nel tuo vimrc (sta per insertmode, ma lo chiamo affettuosamente idiotmode per quando un collega ha bisogno di scrivere alla mia scrivania), potresti anche non realizzare che stai usando vim!