2010-05-05 23 views
5

que tiene un makefile que se parece a:Lua salto a la línea derecha

default: 
    lua blah.lua 

Ahora, en Vim, escribo ": hacer".

Hay un error en mi código Lua; da un nombre de archivo + número de línea. Me gustaría que Vim salte al archivo/línea correcto. ¿Cómo hago que esto suceda?

Respuesta

7

Puede establecer la cadena de formato de error para reconocer la salida del intérprete lua. Por ejemplo, añadir esto a su archivo .vimrc:

autocmd BufRead *.lua setlocal efm=%s:\ %f:%l:%m 

que asume los errores en su versión de Lua tener este aspecto:

lua: blah.lua:2: '=' expected near 'var' 

Consejo adicional: en lugar de utilizar un makefile, puede utilizar el ajuste makeprg:

autocmd BufRead *.lua setlocal makeprg=lua\ % 

que se ejecutará el archivo de corriente a través de lua cuando se escribe :make.

+0

Agradable. ¡Gracias! Entiendo la parte% f:% l. ¿Cuidar para explicar cómo "%.% #" Coincide con "lua"? – anon

+1

'%.% #' Es el formato de error equivalente a '. *' En una expresión regular regular. IOW coincide con cualquier cosa (por ejemplo,/usr/bin/lua). ¡Quizás sea un truco, pero hace el trabajo! – richq

+0

¿hay alguna manera de decir "lua:" en lugar de "%.% #"? eso parece más intuitivo/más claro para mí, pero no sé cómo expresarlo en el formato de error – anon