ghc-mod
产生的错误在一行上,其中每一行可能包含<Nul>
字符,由vim呈现为\@
。我想解析这个for quickfix,但无法看到这对errorformat
有什么用处:<Nul>
字符似乎截断%m
,好像它是一个新行,但是使用多行语法似乎无法捕捉到这种情况。
有没有办法让errorformat
解析<Nul>
?
答案 0 :(得分:2)
在Unix环境中不小心输出空字符的程序只是 begging 的麻烦。
不,我发现在使用'errorformat'
解析输出时,Vim无法处理空字符。 (可以通过在CTRL-V
前加上^V^@
来为错误格式字符串添加NUL,即'makeprg'
,但这没用。)
不适合Vim错误格式的输出的解决方法是向:make
程序添加过滤器,然后使用:set makeprg=ghc-mod\ lint\ %\ \\\|\ tr\ -d\ '\\0'
:make
填充quickfix列表:
{{1}}
此提示可在:h error-file-format
的最后找到。
一个更好的解决方案就是不要打扰并使用流行的ghcmod插件来执行此操作等等。