2013-07-29 18 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相配合。 –