2010-11-05 10 views
28

Uso VIM/GVIM para desarrollar mis proyectos de Python y dejo aleatoriamente comentarios de #TODO en mi código.Administrar #TODO (muchos archivos) con VIM

¿Hay alguna forma de administrar (buscar, enumerar y vincular) todas las ocurrencias #TODO dentro de VIM? Probé el tasklist plugin, es casi lo que necesito, pero solo muestra el archivo actual #TODO. En general, mis proyectos tienen algunas subcarpetas y muchos archivos .py, por lo que me gustaría encontrar una manera de buscar entre todas las carpetas y archivos en el directorio de trabajo actual y listarlos.

+0

Gracias por el consejo, pero creo que un interruptor de editor está fuera de lugar ** en el momento ** (estoy enamorado de VIM). Lo siento pero creo firmemente que cambiar a un rastreador de problemas solo para tomar una nota como "escribir una excepción para esto más tarde" o "agregar esto en la prueba de unidad" es una pérdida de tiempo. Y echaré un vistazo a emacs, lo juro :). –

+1

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

+0

@Arnis L., Vimcasts es genial, ¡Gracias a Drew Neil volví a VIM! –

Respuesta

44

Si lo que desea es una lista de las ocurrencias de "TODO" en ficheros .py en el directorio de trabajo, sólo se puede utilizar :vimgrep así:

:vimgrep TODO **/*.py 

continuación, abra la ventana de quickfix con:

:cw 

(puede que se abra automáticamente de todos modos, no estoy seguro) y simplemente desplácese por los resultados, presionando Enter para ir a cada aparición.

Para una administración más complicada, probablemente recomendaría configurar un rastreador de problemas.

+11

Más rápido es ': noautocmd vimgrep/TODO/**/*. Py' que no activará ningún autocmd mientras se cargan archivos para mirar dentro de ellos. – Benoit

+1

¡Eso es increíble, casi perfecto! El único inconveniente es que mi cursor salta a la primera aparición. ¡Pero puedo vivir con eso! –

+1

@Benoit, ¡eso es un gran consejo! Lo usaré en mi keymapping. 'noremap t: noautocmd vimgrep/TODO/**/*. py ' –

Cuestiones relacionadas