Я бы этого не делал. Это обязывает нас (ну, на самом деле, вы) сохранять только тогда, когда файл действительно скомпилирован - что не имеет смысла, когда мы должны прервать текущее редактирование, потому что начинается настоятельная встреча, о которой мы забыли; сохранение файла в этой ситуации - нормальный способ продолжить.
Кроме того, какова цель запуска cppcheck на :wq
? Как мы можем использовать результат?
Вместо этого у меня будет отображение, которое запускает cppcheck, хотя: make для использования функции быстрого исправления vim (: h quickfix)
function s:Check()
try
let save_makeprg=&makeprg
set makeprg=cppcheck
" you may have to specify other files/extensions
:make *.cpp *.hpp
finally
let &makeprg=save_makeprg
endtry
endfunction
nnoremap <buffer> <c-f7> :call <sid>Check()<cr>