Emacs по умолчанию выполняет команду make -k
при запуске compile
. Тем не менее, я почти никогда не думаю, что полезно, чтобы make
продолжался после ошибок, поэтому я всегда удаляю флаг -k
. Есть ли способ изменить значение по умолчанию в моем .emacs
, чтобы он просто make
?
Могу ли я изменить команду компиляции emacs по умолчанию?
Ответ 1
(setq compile-command "make" )
или подобное в вашем .emacs должно быть достаточно.
Для получения дополнительной информации введите
C-h f compile
который описывает, какие переменные используются при вызове M-x compile.
В нем вы увидите, что он вызывает команду компиляции и
C-h v compile-command
сообщает об этом по умолчанию "make -k". Все вышеизложенное является упрощением, но вся информация должна быть в этих командах, если вам нужно копать дальше.
Ответ 2
Так как мне нужны разные компиляторы для разных режимов, я использую следующий фрагмент кода (здесь показан для javascript):
(require 'compile)
(add-hook 'js-mode-hook
(lambda ()
(set (make-local-variable 'compile-command)
(format "jshint %s" (file-name-nondirectory buffer-file-name)))))
Это запускает "jshint" в качестве моей команды компиляции. Затем я могу добавить крючки на другие языки и настроить каждый в соответствии с моими потребностями.