Вы можете попробовать сделать для этого пользовательскую функцию.Например, используя :call system("make > make.out")
, запустите make, перенаправив вывод в файл.После этого загрузите файл ошибок, используя :cf make.out
.Хотя сам никогда этого не пробовал.
В конце концов, результаты make
также могут быть просто проверены путем проверки наличия результата в файловой системе:
:make | if !filereadable("whatever-make-was-supposed-to-create") | throw "Make failed!!!" | endif
(Здесь символ '|' является разделителем команд vim.) Присвоение этого сочетанию клавиш избавило бы от необходимости печатать.
PS Обычно я стараюсь, чтобы мои программы не выдавали предупреждений, поэтому я никогда не сталкивалсяпроблема.Что, кстати, приводит к другому возможному решению: просто удалите предупреждения (или просто нежелательные выходные строки), используя, например, grep -v tabooword
, из вывода make, переопределив 'makeprg'
.Что на самом деле описано в справке: :h 'makeprg'
.
PPS Я начал работать с VIM ... При условии, что вы также используете bash в качестве оболочки.Вы пытались добавить к выходу $ {PIPESTATUS [0]} в трубу?Например:
:set shellpipe=2>&1\ \|\ tee\ %s;exit\ \${PIPESTATUS[0]}
Только что проверил это на Debian, и это сработало для меня.:h 'shellpipe'
для более.