3

Одна вещь, которую я часто делаю, - это каждый раз, когда я перезапускаю emacs, мне приходится заново вводить команду компиляции:

make XXX -f path-to-makefile/makefile

Иногда я также могу работать над разными вещами одновременно, например, редактировать документ .tex и писать код, и в итоге мне приходится заново вводить команду компиляции при переключении с одного на другое.

Есть лучший способ сделать это? Могу ли я каким-то образом связать файлы с конкретными для файлов командами компиляции, которые известны emacs по умолчанию? Или есть какой-то другой подход, который улучшил бы мой рабочий процесс компиляции?

1 ответ1

0

Иногда я также могу работать над разными вещами одновременно, например, редактировать документ .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):

Последняя команда оболочки, используемая для компиляции; по умолчанию для следующей компиляции.

Иногда для файлов полезно указывать локальные значения для этой переменной.

(но, пожалуйста, также прочтите предупреждение об использовании этого в качестве локальной переменной файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .