Предотвращение: сделать в 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-минутной отметки.