Прежде всего, я говорю об отладке. К сожалению, нет особенно простого способа сделать это, но одна полезная возможность - запустить make и плюнуть вывод в файл, а затем:
:let &makeprg="cat ~/outputfile.log"
:make
Что касается форматирования ошибок, для этого требуется немного проб и ошибок. Вы можете использовать% A,% C и% Z для многострочных сообщений, и вы можете использовать% -G, чтобы игнорировать вещи. Порядок очень важен, и обратите внимание, что иногда% C или даже% Z предшествуют% A! В вашем случае, вы можете получить где-нибудь с EFM ниже. Я склонен использовать let &efm =
и let &efm .=
, а не устанавливать, так как вам не нужно выходить из каждого пробела или кавычки, и вы можете постепенно наращивать их. Это также намного более читабельно.
" Start of the multi-line error message (%A),
" %p^ means a string of spaces and then a ^ to
" get the column number
let &efm = '%A%p^' . ','
" Next is the main bit: continuation of the error line (%C)
" followed by the filename in quotes, a comma (\,)
" then the rest of the details
let &efm .= '%C"%f"\, line %l: error(%n): %m' . ','
" Next is the last line of the error message, any number
" of spaces (' %#': equivalent to ' *') followed by a bit
" more error message
let &efm .= '%Z %#%m' . ','
" This just ignores any other lines (must be last!)
let &efm .= '%-G%.%#'