[英]error with vim errorformat using make project invoking multiple compilers
我有一個make項目,使用各種后端創建二進制文件…→C,C ++,csharp,java…在Linux上使用mono csharp編譯器,gcc等…
如果我通過打開XXX.cs文件選擇一個后端(例如csharp),則make-output-error解析器正常工作,這意味着錯誤輸出已正確解析,我可以立即跳轉到錯誤...
如果我選擇了頂級make…(在頂級目錄上沒有文件的情況下打開vim),那么make-output-error解析器將無法正常工作。
我發現vim errorformat變量在1和2之間更改。
現在是我的問題:在頂層make運行期間,如何告訴vim識別C,C ++,CSharp…和Java的錯誤輸出 ?
無論您擁有C#的任何文件類型插件,都可能會更改:help 'errorformat'
的值以與C#編譯器一起使用,而在運行頂層make
時卻保留默認值,我假設它會按原樣輸出錯誤,過濾。
為了使Vim正確解釋所有編譯器的潛在混合輸出,您可以:
errorformat
設置為適用於所有這些格式的值, 第一種選擇是,找到每個編譯器使用的errorformat
值,並在啟動時將它們設置為默認值:
set errorformat^=<efm for c#>
set errorformat^=<efm for cpp>
...
第二種選擇,我多年來一直在考慮編寫一個可以做到這一點的程序,但是卻沒有時間寫README.md
。 如果這樣的事情不存在,恐怕您將不得不自己sed
並awk
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.