ghc-mod生成的错误位于一行上,其中每一行可能包含<Nul>字符,由vim表示为\@。我想将它解析为quickfix,但无法看出它如何与errorformat一起工作:<Nul>字符似乎截断了%m,就好像它是一个新行,但是使用多行语法似乎无法捕捉到这种情况。
有没有办法让errorformat解析<Nul>?
发布于 2013-07-29 19:13:27
在Unix环境中不小心输出空字符的程序只是自讨苦吃。
不,我看到Vim在用'errorformat'解析输出时不能处理空字符。(可以在错误格式字符串中添加空值,方法是用CTRL-V (即^V^@ )作为前缀,但这是无用的。)
对于不适合Vim错误格式的输出,其解决方法是向'makeprg'程序添加一个筛选器,然后使用:make填充快速修复列表:
:set makeprg=ghc-mod\ lint\ %\ \\\|\ tr\ -d\ '\\0'
:make这个提示可以在:h error-file-format的末尾找到。
一个更好的解决方案就是不去费心地使用流行的http://www.vim.org/scripts/script.php?script_id=4473插件来实现这一点,并且使用更多的插件。
https://stackoverflow.com/questions/17925887
复制相似问题