我想使用gvim来启动make并为我的代码进行构建。由于构建过程需要一些时间,我希望它以静默方式执行,然后最终显示错误/构建日志。
我已将此添加到我的.vimrc
:command -nargs=* Make silent make <args> | cwindow 10
map <c-b> <c-o>:Make<cr>
所以当我按下Ctrl-b时,它开始构建。但当我这样做时,我的gvim挂起,我不能做任何事情。有没有办法完成我想要做的事情。
由于我在make的末尾使用cwindow 10
,因此会启动quickfix窗口。除此之外,我还想查看构建日志。我能以某种方式做到吗
答案 0 :(得分:0)
正如我在类似问题中所说:看看我的AsyncCommand插件。将脚本添加到.vim/plugin
,您可以使用:AsyncMake
或:AsyncMake target
进行构建。一旦完成,错误将在你的quickfix中打开。
对于日志文件,您可以扩展AsyncMake以打开构建日志。安装asynccommand.vim后,将其添加到vimrc中:
function! AsyncMakeWithLog(target)
let make_cmd = &makeprg ." ". a:target
let vim_func = "OnCompleteLoadErrorAndLog"
call AsyncCommand(make_cmd, vim_func)
endfunction
" Load the output as an error file and load the full build log
function! OnCompleteLoadErrorAndLog(temp_file_name)
call OnCompleteLoadErrorFile(a:temp_file_name)
call OnCompleteLoadFile(a:temp_file_name)
endfunction
但是,日志文件和错误窗口将包含大量相同的文本,因此您并不总是需要两者。如果您的构建工具已将其构建日志写入磁盘,那么我建议您使构建输出包含构建日志的完整路径。这样,您可以在错误窗口中的路径上键入gf
,以便在必要时跳转到构建日志。