我正在努力寻找适合的Vim errorformat
,当当前目录是包含错误文件的目录的兄弟目录时使用。例如:
errorformat
errorformat/model
errorformat/spec
Vim的makeprg
选项被设置为在errorformat/spec
中执行文件。我从errorformat/model
运行make。Vim被设置为使用当前文件所在的目录作为工作目录。
为了测试,我在errorformat/model/errorformat.vim
中运行以下命令:
set makeprg=ruby\ ~/errorformat/spec/errorformat_spec.rb
let &efm="%D%f,%f:%l"
make!
copen
正如您所看到的,这将在兄弟目录中运行一个Ruby文件,该文件只是执行以下操作
puts %{errorformat}
puts %{./spec/errorformat_spec.rb:1}
exit 5
期望的效果是,当我从不同的目录运行规范时,Vim将使用
errorformat
中的%D
让我打开规范文件。但它没有起作用。特别是,我似乎无法让%D%f
做我所期望的事情。当我运行这个测试时,QuickFix窗口显示:|| errorformat
|| ./spec/errorformat_spec.rb:1
双竖线表示
errorformat
中的 %D%f
部分无法识别输出。这似乎还会阻止下一行被 %f:%l
识别。我一定是忽略了什么非常简单的东西!
`errorformat` `./spec/errorformat_spec.rb:1`
我似乎无法将此输出放在注释中的单独行上。 - Mark Wilden