Un editor che viene trascurato molto è MacVim . È basato sul venerabile editor vim , da * nix, e può fare tutto ciò che hai chiesto tramite plugin.
Mostro che supporta diverse lingue, comprese tutte quelle che hai citato.
Eseguo regolarmente ricerche di metodi, variabili, frasi di testo casuali esistenti tramite una mappatura CNTRL_N o CNTRL_P che ricerca tutti i file aperti e visualizza un elenco dei risultati.
Vim chiama i suoi progetti "sessioni", che memorizza tutti i file, le impostazioni della finestra, le macro, ecc., Per il successivo caricamento. Dalla modalità "diretta" di vim, :mksession path/to/sessionfile
lo creerà. Sourcing in un secondo momento dalla riga di comando è semplice: vim -S path/to/sessionfile
.
C'è un ottimo plugin chiamato VCS , che gestisce le mie cose SVN:
... CVS, SVN, SVK, git, bzr e hg all'interno di VIM, incluso il commit di modifiche e l'esecuzione di diff ...
La funzionalità di caricamento sul server è gestita dal plugin netrw .
vim ha una curva di apprendimento ripida, la vimtutor
, che viene fornita con l'app, può aiutarti a farti partire. Inoltre, ci sono utenti attivi qui e sui siti gemelli di SO, oltre al nodo IRC vim su freenode.net.
Probabilmente la cosa più fantastica di vim, è disponibile in una versione interfacciata su Mac OS come MacVim, su Linux usando gvim, su Windows e dalla riga di comando di uno di questi sistemi operativi. Vim su ognuno di essi utilizzerà gli stessi comandi, gli stessi plugin, gli stessi temi, ecc., entro i limiti di tali ambienti. Vado avanti e indietro da Mac a Linux tutto il giorno e ho almeno una finestra di vim aperta da qualche parte.
E, affinché nessuno pensi che non abbia familiarità con le alternative solo per Mac, possiedo tutte le mie copie di Coda, BBEdit e TextMate e le uso. Vado molto indietro con BBEdit e in realtà lo usavo occasionalmente per dimostrarlo su MacWorld. È fantastico, ma uso vim con le stesse impostazioni ovunque e nessuno degli altri editor può farlo. Quindi, se hai bisogno di quella compatibilità multipiattaforma, esaminala.