在Vim中运行:make后,vim会跳转到无意义的文件。

3
有时我会在一个文件中遇到错误,:make 命令的输出如下所示:
In file included from /path/to/some/src/file.cpp|22| 0:

因此,当它跳转到该文件时,它并没有跳转到file.cpp,而是跳转到名为In file included from /path/to/some/src/file.cpp的文件,这显然是没有意义的。总体来说,我喜欢这种跳转方式,但不喜欢当错误信息具有这种形式时,导致我打开了无用的文件而非我真正关心的错误。

是否有一种方法可以使其更加智能,以便跳转到真正的错误,即在下一行,或者至少只有在找到真正的文件时才跳转?


我认为这只是由编译器输出引起的,vim将简单地解析该输出作为错误行。Vim无法区分通过#include依赖项生成的错误或其他类型的C/C++错误。我会怀疑您需要定义自己的自定义错误处理来处理那些特定的#include错误,其中您想要忽略被#include的文件。 - sashang
我已经意识到这一点,但在使用vim的成千上万的人和编写C或C++程序的人之间,我想肯定有人找到了使其更加简洁的方法。 - Alex
1个回答

3

您可能需要修改errorformat设置。请参阅:help 'errorformat':help errorformat。要了解当前值,可以运行:set errorformat?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接