Vim Quickfix始终打开。有没有办法让它只在有错误时打开?

时间:2013-08-31 18:54:02

标签: vim

我已经创建了一个执行make的函数,因为我还想重绘屏幕。即使我使用“cw”命令,每次执行后都会打开Quickfix。我希望它只在有错误时打开。我知道有一个错误格式设置 - 但它似乎很复杂。有没有一种简单的方法来设置它?我在OSX上使用clang作为我的编译器。感谢。

command! -nargs=* Make call s:Make(<q-args>)
function! <SID>Make(args)
    execute "silent make " . a:args . " | cw"
    redraw!
endfunction

1 个答案:

答案 0 :(得分:0)

我最终只是从qf列表中删除了非错误行。剩下的错误行格式正确,并根据需要链接回代码。这给了我一个简单的(裸骨)错误列表在qf和所有错误的详细信息回到:sh。

command! -nargs=* Make call s:Make(<q-args>)
function! <SID>Make(args)
    execute "silent make " . a:args
    call setqflist(filter(copy(getqflist()), 'v:val.valid == 1'))
    cw 
    redraw!
endfunction
相关问题