17

我有一个警告,我不能轻易地从我的构建中删除,每次我从 vim 内部运行 ":make" 时,quickfix 都会将我带到一些我不关心的头文件。我怎样才能防止 VIM 这样做并且只向我显示我关心的警告和错误?

4

5 回答 5

13

正如 Luc Hermite 所说,可以使用'errorformat'选项忽略警告。调整这个选项有点复杂;$VIMRUNTIME/compiler检查一些示例可能会有所帮助。

使用 avr-gcc 和 C++ 时会出现一些像这样的恼人警告

tests.cpp:492: warning: only initialized variables can be placed into program memory area

出现,这很可能是编译器错误的结果。

为避免在 quickfix 窗口上显示此警告,我将其添加到~/.vimrc

compiler gcc
set errorformat^=%-G%f:%l:\ %tarning:\ only\ initialized\ varia
            \bles\ can\ be\ placed\ into\ program\ memory\ area

%-G用于指定要忽略的模式。^=in用于将set errorformat^=...忽略的警告模式添加到'errorformat'-- using +=( set errorformat+=...) 将附加到选项并且不起作用,就像'errorformat'格式列表一样,并且使用第一个匹配的格式,因此“正常”警告模式将改为申请。

也许您可以根据您的环境调整这些设置。

于 2011-10-13T17:05:21.383 回答
7

检查:h 'errorformat'(又名&efm),只要您可以使用模式识别警告,就有忽略警告的选项。

于 2009-03-19T19:43:44.603 回答
3

一种快速而肮脏的方法是编写一个简单的 shell 脚本来运行你的 make 并找出你不想看到的警告。然后让 vim 使用这个脚本而不是 make(添加“set makeprg=yourscript.sh”到你的 .vimrc)。

于 2009-03-19T19:19:10.183 回答
3

为了建立在 mMontu 建议的基础上,将其添加到我的 .vimrc 对我有用(忽略来自我的 gcc 编译器的所有警告)

设置错误格式^=%-G%f:%l:\ 警告:%m

于 2013-02-14T09:30:44.943 回答
1

向布拉姆本人学习。

我依稀记得他在这个视频的某个地方谈到了这个。

他在编译 gvim 时添加了一个过滤器来忽略一些 gnome 警告。

不管怎样,这个视频很值得一看。

这是大约30分钟的标记。

于 2009-03-19T22:18:33.280 回答