Я использую vim для редактирования ядра Linux. В моей среде используется множество переменных и функций, определенных для этого и для других целей, включая функцию bash для компиляции ядра. Так что я обычно делаю это:Имейте vim makeprg наследуйте среду оболочки хоста
vim file.c
- редактировать
- Ctrl + Z
- функция запуска компиляции
- прочитал ошибки
fg
- исправить ошибки.
Я хотел бы заменить этот утомительный процесс с :make
и просматривать ошибки с :copen
. Проблема заключается в том, что для компиляции мне нужна вся моя среда ... I может написать сценарий, который настраивает среду каждый раз, а затем вызывает функцию компиляции и вызывает этот скрипт из: make, но это добавит несколько секунд для каждого: выполните вызов для настройки среды.
Так что мой вопрос: может ли :make
наследовать переменные/функции окружающей среды из оболочки, из которой она порождена?
К сожалению, я не могу добавить экспорт во все мои объекты окружения. Могу ли я повторно инициализировать свою среду сборки в vim? Должен ли я это делать каждый раз, когда я вызываю makeprg?То есть, каждый раз, когда я вызываю makeprg, vim порождает оболочку bash? – danns87
Я написал сценарий, который устанавливает среду сборки и запускает скрипт компиляции, и я установил этот скрипт как makeprg в vim. Он работает, но было бы здорово избежать накладных расходов на настройку среды сборки каждый раз, когда я звоню: make. Есть идеи? – danns87
Вам не нужно экспортировать _add_ при определении; вы можете экспортировать их позже (внутри той же оболочки, поэтому я сказал _source_ любой скрипт, который делает это). –