1

产生的错误ghc-mod在一行上,其中每一行都可能包含由 vim<Nul>呈现的字符。\@我想解析它以进行快速修复,但看不出这可能如何工作errorformat<Nul>字符似乎被截断%m,就好像它是一个新行,但使用多行语法似乎无法捕捉这种情况。

有没有办法进行errorformat解析<Nul>

4

1 回答 1

2

一个在 Unix 环境下不小心输出空字符的程序就是在自找麻烦

不,就我所见,Vim 在解析输出时无法处理空字符'errorformat'。(可以将 NUL 添加到 errorformat 字符串中,方法是在它们前面加上CTRL-V, ie ^V^@,但这是没用的。)

不适合 Vim 错误格式的输出的解决方法是在'makeprg'程序中添加一个过滤器,然后使用它:make来填充 quickfix 列表:

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

这个提示可以在:h error-file-format.

一个更好的解决方案是简单地不打扰并使用流行的ghcmod插件来执行此操作以及更多功能。

于 2013-07-29T19:13:27.967 回答