我有一个类似下面的makefile:
default:
lua blah.lua
现在,在Vim中我键入“:make”。
我的Lua代码中有一个错误;它会显示文件名和行号。我希望Vim可以跳转到正确的文件/行。如何实现这一点?
您可以设置错误格式字符串以识别Lua解释器的输出。例如,将以下内容添加到您的.vimrc文件中:
autocmd BufRead *.lua setlocal efm=%s:\ %f:%l:%m
lua: blah.lua:2: '=' expected near 'var'
小贴士:你可以使用makeprg
设置而不是使用makefile:
autocmd BufRead *.lua setlocal makeprg=lua\ %
:make
时,将运行当前文件通过lua。
%.%#
是错误格式中等价于正则表达式.*
的表示。换句话说,它可以匹配任何内容(例如 "/usr/bin/lua")。这可能有些取巧,但能够完成工作! - richqautocmd BufRead *.lua setlocal efm=lua:\ %f:%l:%m
。 - richqefm =%s:\%f:%m
使这更明显,因为它在行号位置显示跳转文本。(如果未找到该搜索文本,则vim 8.0.596不会跳转到行号。) - idbrii