2014-03-27 28 views
1

我正在開發一個C++應用程序和每一個我稱之爲:make my_project.vcxproj:compiler msvc:set makeprg=msbuild:set shellpipe=>%s 2>&1時間,VIM打開名爲Build Started 26\03\2014一個空白文件。如何使用:以後不打開空白文件?

我試着玩shellpipe選項:將其設置爲空白,:set shellpipe=導致vim在新窗口中打開msbuild,並在那裏顯示結果,並向quickfix發送任何內容。設置:set shellpipe=>將打開一個類似命名的空白文件,但缺少部分日期。

我該如何讓vim避免爲我的make命令的輸出打開一個新的緩衝區?

+0

目前還不清楚這個空白文件究竟是什麼。你說的結果是quickfix,所以這個空白文件就像quickfix的第一個條目?如果是這樣,你可以通過使用':make!'而不是':make'來避免它。 – mMontu

+0

@ mMontu這是我的問題的一部分。我不確定是什麼原因造成的。該文件簡單地命名爲「Build Started」和日期,但根本沒有內容。按預期填充quickfix。 ':make!'解決了我的問題,所以這是我的quickfix中的一行,我沒有意識到。把它作爲答案扔掉,我會接受它謝謝! – TankorSmash

回答

1

因爲結果是要進入quickfix,所以可能是第一行之一是關於構建開始的消息。

Vim可能將該行解釋爲包含文件名和行號的錯誤/警告消息,並試圖跳轉到該行。

:make命令調用makeprg,然後跳轉到第一個錯誤。你可以使用:make!來避免跳轉到第一個錯誤,防止打開名爲「Build Stared ...」的緩衝區。

你也可以嘗試調整是由:compiler命令,以使Vim正確地分析和quickfix內容設置errorformat,什麼也將使您能夠使用:cn:cp對導航。您可以使用mscv編譯器作爲起點 - 它可以在$ VIMRUNTIME/compiler文件夾中找到。您可能可以基於cs.vim(位於同一文件夾中),該文件夾已爲errorformat設置爲MS Visual Studio C#。

相關問題