我有一个只调用make -C ..
的本地Makefile。因此,我从编译器获得带有文件名的输出和相对于..
的目录的路径。
现在vim无法获得quickfix的正确路径。
问:如何将vim quickfix的基本路径设置为..
?
我的路径结构:
<bla>/base/proj1/<localMakeFile>
<bla>/base/<globalMakefile>
<bla>/src/source1.cpp
我在/ base / proj1 /
里面编译错误的编译器输出如下: src / source1.cpp | 141 col 54 |错误:....
但我正在努力
/ proj1 / so vim无法获取文件src/source1.cpp
编辑: 我看到问题基本上与gnu make
的输出有关make[4]: Entering directory '<bla>/...'
如果我不使用英语环境,则无法正确解析。使用export LANG=
设置shell一切正常。
问:vim能解析gnu make的德语输出吗?
答案 0 :(得分:0)
使用set errorformat+=<localized version>
附加本地化版本应该可以。
我不知道VIM支持开箱即用。看了:set errorformat
的输出,这在我的机器上是一个可怕的......
errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-G%f:%l: (Ea
ch undeclared identifier is reported only once,%-G%f:%l: for ea
ch function it appears in.),%-GIn file included from %f:%l:%c:,
%-GIn file included from %f:%l:%c\,,%-GIn file included from %f
:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G
%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:
%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%
*\d]: Entering directory %*[`']%f',%X%*\a[%*\d]: Leaving direct
ory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leav
ing directory %*[`']%f',%DMaking %*\a in %f,%f|%l| %m
...并通过从
更改构建过程的输出make: Entering directory `<directory>`
到
make: Entering `<directory>`
我通过这样扩展errorformat
来实现它:
:set errorformat+=%D%*\\a:\ Entering\ %*[`']%f'