В обычном случае я использую утилиту make vim. Я установлю makeprg в Makefile проекта, в котором я сейчас работаю. Так как обычно проект длится недели или даже дольше, мне не нужно часто менять настройку makeprg. Но иногда мне нужно написать некоторый код "foobar" либо для отработки моего навыка c ++, либо для прототипирования некоторых примитивных идей в моей голове. Поэтому всякий раз, когда я переключаюсь в режим использования vim «foobar», мне нужно комментировать исходную настройку makeprg и добавлять новую настройку следующим образом:
au FileType c set makeprg=gcc\ %
au FileType cpp set makeprg=g++\ %
что действительно очень, очень неудобно. когда я возвращаюсь в «обычный проектный режим» использования vim, мне нужно вернуться к первоначальной настройке. туда и обратно ....
Что я хочу узнать от вас, ребята, так это: возможно ли временно выполнить настройку makeprg. Например, определите функцию, в которой сначала задайте локальное значение makeprg, а затем вызовите make перед возвратом из функции. Функция автоматически восстановит makeprg до значения перед вызовом функции.