Попробуйте встроенное:
M-x compile gcc ...
compile
не привязано ни к каким ключам по умолчанию, но вы можете сделать что-то вроде:
(add-hook 'c-mode-common-hook
(lambda () (define-key c-mode-base-map (kbd "C-c C-l") 'compile))))
Есть кучапакетов, которые люди написали во время компиляции в Emacs Wiki.Изучите SmartCompile , CompileCommand и категорию Programmer Utils .
Преимущество использования M-x compile ...
по сравнению с простым запуском в "терминал "это то, что вы получаете Cx` (он же next-error
), который переместит вас к файлу и строке, вызвавшей команду ошибки.И есть команда Mx пересобрать , которая делает то, что вы ожидаете.И, конечно, как и все команды Emacs, команда compile
хранит историю вызовов компиляции, и вы можете просматривать историю с помощью Mp и Mn .