Иногда я также могу работать над разными вещами одновременно, например, редактировать документ .tex и писать код, и в итоге мне приходится заново вводить команду компиляции при переключении с одного на другое.
Я написал немного elisp, чтобы помочь справиться с этим, определив несколько команд компиляции (в смысле M-x
), каждая из которых связана со своим собственным буфером и командой оболочки.
Вот соответствующий код: https://gist.github.com/ffevotte/6130884
В этой конфигурации я определяю 4 команды компиляции, которые связываю с клавишами <F5>
- <F8>
, и я часто использую рабочий процесс, подобный следующему:
<f5>
(или M-x compile5
): связано с make -k
<f6>
(или M-x compile6
): связано с make -k test
<f7>
(или M-x compile7
): связан с doxygen
каждый раз, когда я перезапускаю emacs, мне приходится заново вводить команду компиляции
Это то, что я не делаю много (перезапуск Emacs). Однако взгляните на переменную compile-command
. Из документации (C-h v
compile-command
):
Последняя команда оболочки, используемая для компиляции; по умолчанию для следующей компиляции.
Иногда для файлов полезно указывать локальные значения для этой переменной.
(но, пожалуйста, также прочтите предупреждение об использовании этого в качестве локальной переменной файла.