miércoles, noviembre 14, 2012

vim: Quickfix

Quickfix es un modo de funcionamiento del vim que permite acelerar el ciclo de edición, compilación, edición para aquellas personas que utilicen este editor para desarrollar.

Lo primero que hay que tener configurado es el comando :make, que ejecutará el programa especificado en la variable makeprg, que por defecto es make. La salida de dicho programa será almacenada en un fichero, el cual será posteriormente leído por vim cuando deseemos activar el modo quickfix. Para ello basta con usar el comando :copen, pudiéndose configurar el número de líneas que se desea que tenga la ventana. Para cerrar la ventana se puede hacer uso del comando :cclose. Para moverse de un error a otro, se puede uno ir a la ventana y usar los comandos para moverse entre líneas. Tener en cuenta que cada línea de la misma representa un error. Existen los comandos :cnext y :cprevius que permiten moverse por la lista de errores. Se puede ir a un error determinado con ayuda de :cc nr. La la lista asociada al modo de quickfix es única a todo el sistema. Hay que tener en cuenta que si nos movemos de un error a otro usando :cnext y :cprevius, si se ha modificado un buffet, es necesario usar '!' en el comando, es decir, :cnext! o :cprevius!. También si el foco está en la ventana quickfix, se puede mover con las teclas de desplazamiento de cursor a la línea donde este el error y pulsar enter, para que vim nos lleve directamente a la línea en el fichero con el error.

Como todo comando del vim, si éste está compilado con el soporte de autocomandos, se pueden usar éstos para adaptar el comportamiento de la ejecución de los mismos de acuerdos a nuestros intereses.

Directamente relacionado con el modo de quickfix, en vim toda ventana puede tener asociada una lista de localización, independiente de la lista de quickfix y que contiene una serie de posiciones dentro de un fichero. Los comandos para trabajar con la lista de localización puede consultarse en la documentación del vim



Technorati Tags:

No hay comentarios: