Предотвращение: сделать в VIM сообщение о предупреждении
У меня есть предупреждение, которое я не могу легко удалить из моей сборки, каждый раз, когда я запускаю ": make" изнутри vim, quickfix берет меня в какой-то заголовочный файл, который мне неинтересен. Как я могу предотвратить VIM от этого и показывать только предупреждения и ошибки, о которых я беспокоюсь?
Ответы
Ответ 1
Как сказал Люк Эрмит, можно игнорировать предупреждения, используя опцию 'errorformat'
.
Настройка этой опции немного сложна; может быть полезно проверить $VIMRUNTIME/compiler
для некоторых примеров.
При работе с avr-gcc и С++ некоторые раздражающие предупреждения, подобные этому
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
может использоваться для указания шаблонов, которые нужно игнорировать.
^=
в set errorformat^=...
используется для добавления игнорируемого шаблона предупреждения в 'errorformat'
- использование +=
(set errorformat+=...
) добавит к этому параметру и не будет работать, поскольку 'errorformat'
- это список форматы и первый, который соответствует, поэтому вместо этого будет применяться "нормальный" шаблон предупреждения.
Возможно, вы можете адаптировать эти настройки для своей среды.
Ответ 2
Проверьте :h 'errorformat'
(aka &efm
), есть опции, чтобы игнорировать предупреждения, если вы можете распознать их с помощью шаблона.
Ответ 3
Быстрый и грязный способ заключается в том, чтобы написать простую оболочку script, которая запускает ваш make и greps из предупреждений, которые вы не хотите видеть. Затем используйте vim для этого script вместо make (добавьте "set makeprg = yourscript.sh" в ваш .vimrc).
Ответ 4
Чтобы опираться на то, что предположил mMontu, добавив это в мой .vimrc, помогло (игнорируйте все предупреждения от моего gcc-компилятора)
set errorformat ^ =% - G% f:% l:\warning:% m
Ответ 5
Учитесь у самого Брэма.
Я могу смутно помнить, что он говорит об этом где-то в это видео.
Он добавляет фильтр, чтобы игнорировать некоторые предупреждения gnome, когда он компилирует gvim.
В любом случае, видео стоит посмотреть.
Это около 30-минутной отметки.