Как вы уже знаете, мы видим команду ‘make -k’, когда выполняем ‘M-x compile’ в режиме emacs c ++.
Но сейчас я изучаю некоторые библиотеки boost, поэтому мне часто приходится компилировать только один файл после написания примера кода.
Итак, для удобства я делаю это, как показано ниже.
(1) make an alias in shell init file for g++ compile command.
alias c="g++ -g -Wall -O0 -std=c++11"(2) map 'M-x compile' command to Function Key F9 in .emacs
(global-set-key [f9] 'compile)
(3) write c++ code
(4) press F9 and modify filename to current open file
Например, вы можете увидеть «Команда компиляции: c vvv.cpp» на снимке экрана ниже.
(Этот снимок экрана — просто простой код, который я сделал для этого вопроса.
‘c’ — псевдоним для команды и параметров компиляции)
Но это открытое имя файла на самом деле ‘vector1.cpp’, поэтому vvv.cpp должен быть автоматически заменен на ‘vector1.cpp’.
Я думаю, что это не плохо.
Но я хотел бы найти способ, которым мне не нужно изменять текущее имя файла.
«Просто нажмите F9 и RET, тогда текущий файл будет скомпилирован». Это именно то, что я хочу.
Есть ли лучшая идея или способ, которым я могу сделать это?
Или, пожалуйста, дайте мне знать ваш хороший способ компиляции для минимального нажатия клавиши.
Благодарю.
EmacsWiki есть хороший раздел, объясняющий, как вы можете настроить compile
команда: Команда компиляции
В вашем случае вы можете добавить хук в режим c ++, чтобы определить compile-command
переменная, как вам нужно. Следуя примеру в вики:
(add-hook 'c++-mode-hook
(lambda ()
(set (make-local-variable 'compile-command)
(format "g++ -g -Wall -O0 -std=c++11 %s" (buffer-name)))))
Добавление этого фрагмента в ваш .emacs
должен сделать свое дело.