vim:errorformat can';我不明白如何为我的解析器处理错误

vim:errorformat can';我不明白如何为我的解析器处理错误,vim,errorformat,Vim,Errorformat,我有一个解析器,可以输出这种消息: || Error: M:\workdir\MyFile.ja: line 38: "Blablabla" has no license declaration || Error: M:\workdir\MyFile.ja: unknown attribute "blabla" || Fatal: M:\workdir\MyFile.ja: not generating output because of 2 earlier errors

我有一个解析器,可以输出这种消息:

||     Error: M:\workdir\MyFile.ja: line 38: "Blablabla" has no license declaration
||     Error: M:\workdir\MyFile.ja: unknown attribute "blabla"
||     Fatal: M:\workdir\MyFile.ja: not generating output because of 2 earlier errors
我尝试用以下错误格式解析它:

let &errorformat=&errorformat . ',' . 'Error: %f: line %l: %m'
let &errorformat=&errorformat . ',' . 'Error: %f: %m'
let &errorformat=&errorformat . ',' . 'Fatal: %f: line %l: %m'
let &errorformat=&errorformat . ',' . 'Fatal: %f: %m'
但它与任何东西都不匹配。有人能帮我指出我做错了什么吗

谢谢


编辑2017-06-21:我使用
:AsyncRun build
(使用插件)运行我的构建命令(这是一个自定义脚本)。插件只需异步运行命令,并将其输出重定向到quickfix

症状是quickfix窗口包含消息,但未被识别为错误消息


set errorformat
包含我添加的定义

好的,事实上,我还需要将前导空格与以下错误格式匹配:

let &errorformat=&errorformat . ',' . '%*[ ]Error: %f: line %l: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Error: %f: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Fatal: %f: line %l: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Fatal: %f: %m'
它现在就像一个符咒


感谢freenode#vim上的markzen帮助我找到了解决方案。

也在这里发布:我认为您的errorformat定义看起来不错。我最好的猜测是quickfix的工作方式与您认为的不同。您应该描述产生问题所遵循的所有步骤。