1

Я связываю F5, чтобы сделать:

map <F5> :make clean && make <cr>

После того, как я сделал make, он всегда заменяет текущий файл другим файлом в папке, которую я открыл ранее. Например, я редактирую part1.c и сделал make, а затем он заменяет текущий файл на part2.c после возвращения из make. Понятия не имею, почему это происходит.

2 ответа2

2

Встроенная команда :make выполняет сконфигурированный 'makeprg' (по умолчанию make , внешняя программа)и переходит к первой ошибке. Чтобы избежать последнего, добавьте ! в команду :make! ,

1

Вы хотите использовать команду vim :make , которая в основном является оболочкой для внешней программы make ? Если вы хотите использовать внешнюю make напрямую, тогда используйте !make clean && make .

Под :help make , это говорит

...
7. If [!] is not given the first error is jumped to.

Так что я думаю, что у вас есть ошибка в part2.c .

Если вы случайно обнаружили встроенную команду vim :make , вам следует изучить ее.

:help :make
:help quickfix

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .