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