2011-06-02 26 views
4

我正在努力找到正確的Vim errorformat噹噹前目錄是與錯誤文件的目錄的兄弟姐妹。例如:Vim錯誤格式:使用%D改變目錄

errorformat 
errorformat/model 
errorformat/spec 

Vim的makeprg選項設置在errorformat/spec執行文件。我從errorformat/model運行make。 Vim設置爲使用當前文件的目錄作爲工作目錄。

爲了測試,我跑在errorformat/model/errorformat.vim

set makeprg=ruby\ ~/errorformat/spec/errorformat_spec.rb 
let &efm="%D%f,%f:%l" 
make! 
copen 

以下正如你所看到的,運行一個Ruby在同級目錄簡單地做

puts %{errorformat} 
puts %{./spec/errorformat_spec.rb:1} 
exit 5 

的預期效果是文件當我從不同目錄運行規格時,Vim將使用errorformat中的%D來讓我打開spec文件。但它不起作用。特別是,我似乎無法得到%D%f做我期望的。當運行該測試中,QuickFix的窗口顯示

|| errorformat 
|| ./spec/errorformat_spec.rb:1 

雙條被指示errorformat%D%f部分是不承認的輸出。這似乎也阻止了下一行被%f:%l部分解釋。

必須有一些非常簡單的東西我錯過了!

+0

你可以顯示你正試圖解析的錯誤文件的輸出是什麼?這不是定界符(在%D和%f之間)的問題嗎? – mb14 2011-06-13 11:04:47

+0

我試圖解析輸出是 'errorformat' './spec/errorformat_spec.rb:1' 我似乎不能夠把這個輸出在註釋單獨的行。 – 2011-06-14 22:30:35

回答

1

問題出在errorformat的順序上。 %D%f部分需要去%f:%l部分。