Chi mi conosce sa che sono (anche) un fanatico degli editor di testo. In vita mia li ho provati (praticamente) tutti e di sicuro non sono il tipo che sceltone uno, lo porta avanti fino alla morte. Niente guerre di religione, dunque, ma occhio a qualità , espandibilità , configurabilità e praticità di utilizzo. àˆ da poco uscita la BETA della versione 2 di un editor che ha riscontrato un certo successo, Sublime Text e appena l'ho saputo ho voluto provarlo con attenzione.
Prima di tutto, grosso difetto viste le alternative, l'editor è a pagamento (e la licenza è proprietaria, non open source). àˆ usabile anche senza registrarlo, ma dovremo sopportare un popup che ogni tanto apparirà a ricordarci di effettuare la registrazione.
Vediamo cosa mi ha favorevolmente colpito:
- Estremamente veloce: parte a razzo, praticamente come Vim, pur avendo un'interfaccia grafica
- àˆ multipiattaforma: OSX, Linux, Windows
- Interfaccia veramente minimalista, niente pulsanti, niente toolbar. Oltre al full screen c'è persino la modalità "niente distrazioni"; premi Shift+F11 e ti trovi solo tu e il tuo codice. Niente altro
- Gestione molto leggera di "progetti", ovvero folder logici dove inserire, raggruppandoli, i nostri sorgenti (uno ad uno o una directory alla volta)
- Possibilità di vedere un file prima di aprirlo: dal file browser alla nostra sinistra, un singolo click apre il file ma non lo tiene tra quelli disponibili. Ottimo per dare un'occhiata al volo senza doverci ricordare di chiudere i file che non ci sono serviti
- Go to Anywhere: è una funzionalità veramente potente; in pratica permette di cercare (in autocomplete) qualsiasi cosa ovvero un file, il nome di una funzione, di un simbolo. Lo scope di ricerca è sia il nostro progetto, che il file corrente... in pratica un sistema per navigare i nostri sorgenti totalmente intuitivo (ha anche una propria sintassi per fare ricerche più mirate)
- Minimap: è l'immagine "da 10000 metri di altezza" del nostro sorgente. àˆ sempre presente, alla nostra destra e permette (oltre ad avere sott'occhio la struttura del nostro codice) di spostarsi rapidamente da una parte all'altra oppure vedere le parole evidenziate (per esempio durante una ricerca)
- Le funzionalità di ricerca che uno sviluppatore esperto necessita sono tutte presenti, comprese quelle meno ovvie come la ricerca incrementale e la possibilità di cambiare tutte le occorrenze di una stringa in una volta sola
- Ampia scelta di layout: 2, 3 o 4 colonne, oppure split orizzontale o griglia
- Configurabile completamente attraverso... file JSON. Non esiste un pannello di preferenze, ma l'autore ha preferito l'approccio "nerd": tutte le chiavi di configurazione, presenti o future, sono da inserire tramite la modifica di file JSON. Apprezzabile il fatto che qualsiasi modifica è immediata dopo il salvataggio del file stesso.
- àˆ scriptabile in Python
- Anche per quanto riguarda la selezione del testo non manca niente: selezione multipla e selezione a colonne compresa
Fin qui tutto bene, diceva quello. Ma ci sono anche alcuni problemi:
- Documentazione orribile: se fai un sistema configurabile tramite delle chiavi, beh, perlomeno mi aspetterei di avere una documentazione di tutte le chiavi possibili per una certa versione. Al momento tale elenco occorre andarselo a cercare su un sito apparentemente "non ufficiale", sublimetext.info
- Stesso discorso per il syntax highlight: pare sia molto facile crearsi temi, ma anche in questo caso non ho trovato documentazione soddisfacente (credo sia possibile tuttavia importare temi di Textmate)
- Non ha delle funzionalità che ritengo molto utili, come la visualizzazione del carattere di fine riga, o la visualizzazione delle indentazioni
- Non sembra avere (e da quello che si legge non avrà ) il supporto a file system virtuali, come FTP o SFTP
Come dice un mio amico, è apprezzabile il fatto che un Sublime Text "non si mette in mezzo". Non si intromette, non prende decisioni al tuo posto... è solo uno strumento, come ritengo debba essere appunto un editor di testi.
Personalmente però non credo che cambierà ancora il mio fido jEdit per SublimeText.