2010-11-05 14 views
28

Io uso VIM/GVIM per sviluppare i miei progetti Python e, a caso, lascio i commenti #TODO nel mio codice.Gestisci #TODO (molti file) con VIM

C'è un modo per gestire (cercare, elencare e collegare) tutte le occorrenze #TODO all'interno di VIM? Ho provato il tasklist plugin, è quasi quello di cui ho bisogno, ma elenca solo le occorrenze del file corrente #TODO. Generalmente i miei progetti hanno alcune sottocartelle e molti file .py, quindi mi piacerebbe trovare un modo per cercare tra tutte le cartelle e i file nella directory di lavoro corrente ed elencarli.

+0

Grazie per il consiglio, ma penso che un interruttore di editore sia fuori questione ** nel momento ** (sono innamorato di VIM). Scusate ma penso fermamente che passare a un tracker di problemi solo per prendere una nota come "scrivi un'eccezione per questo più tardi" o "aggiungilo nell'unità di test" è una perdita di tempo. E darò un'occhiata a emacs, lo giuro :). –

+1

@aaronasterling http://vimcasts.org/episodes/cleaning-up-with-vim/ :) –

+0

@Arnis L., Vimcast è fantastico, grazie a Drew Neil sono tornato a VIM! –

risposta

44

Se si desidera solo una lista delle occorrenze di "TODO" nel file .py nella directory di lavoro, si può semplicemente utilizzare :vimgrep in questo modo:

:vimgrep TODO **/*.py 

Poi aprire la finestra quickfix con:

(potrebbe aprirlo automaticamente comunque, non è sicuro) e basta scorrere i risultati, premendo Invio per andare a ogni occorrenza.

Per una gestione più complessa, mi consiglia di configurare un tracker di problemi.

+11

Più veloce è ': noautocmd vimgrep/TODO/**/*. Py' che non attiverà alcun autocmd mentre carica i file per guardarli al loro interno. – Benoit

+1

È fantastico, quasi perfetto! L'unico inconveniente che il mio cursore salta alla prima occorrenza. Ma posso conviverci! –

+1

@Benoit, questo è un ottimo consiglio! Lo userò nel mio keymapping. 'noremap t: noautocmd vimgrep/TODO/**/*. py ' –