2013-07-29 44 views
1

通過ghc-mod產生的誤差是在同一行,其中每行可以潛在地包含<Nul>字符,通過VIM呈現爲\@。我想解析這個quickfix,但看不到這怎麼可能與errorformat<Nul>字符似乎截斷%m就好像它是一個新行,但使用多行語法似乎並沒有工作趕上這個案例。Vim的錯誤格式運用於<Nul>字符

有沒有辦法使errorformat解析<Nul>

回答

2

在Unix環境中不小心輸出空字符的程序只是乞求的麻煩。

不,對於我看到的所有Vim在使用'errorformat'解析輸出時無法處理空字符。 (可以將NUL添加到errorformat字符串中,前綴爲CTRL-V,即^V^@,但這是無用的。)

對於不適合Vim errorformat的輸出的解決方法是將過濾器添加到該'makeprg'程序,然後使用:make填充quickfix列表:

:set makeprg=ghc-mod\ lint\ %\ \\\|\ tr\ -d\ '\\0' 
:make 

這個提示可以在:h error-file-format盡頭被發現。

一個更好的解決方案是根本不打擾和使用流行的ghcmod插件,做這個和更多。

+0

我完全同意:這是不是一個好主意,吐出空值。 ghcmod插件很好,但我試圖讓這個與syntastic相配合。 –