1

画面も再描画したいので、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
4

1 に答える 1

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
于 2013-08-31T23:08:03.357 に答える