防止:在VIM中进行警告

时间:2009-03-19 19:06:44

标签: vim makefile warnings

我有一个警告我无法从我的构建中轻松删除,每次我从vim内部运行“:make”时,quickfix会将我带到一些我不关心的头文件。如何阻止VIM执行此操作并仅向我显示我关注的警告和错误?

5 个答案:

答案 0 :(得分:11)

正如Luc Hermite所说,可以使用'errorformat'选项忽略警告。 调整此选项有点复杂;对于某些示例,请查看$VIMRUNTIME/compiler可能会有所帮助。

使用avr-gcc和C ++时,有一些令人讨厌的警告

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

显示,可能是compiler fault的结果。

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

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

%-G可用于指定要忽略的模式。 ^=中的set errorformat^=...用于将忽略的警告模式添加到'errorformat' - 使用+=set errorformat+=...)会附加到该选项,而不会work,因为'errorformat'是一个格式列表,并且使用了匹配的第一个格式,因此将适用“正常”警告模式。

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

答案 1 :(得分:8)

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

答案 2 :(得分:3)

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

答案 3 :(得分:3)

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

set errorformat ^ =% - G%f:%l:\ warning:%m

答案 4 :(得分:2)

向布拉姆本人学习。

我可以依稀记得他在this video中的某个地方谈到这个问题。

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

该视频非常值得一看。

大约30分钟。