Como associar arquivos ao comando de compilação no emacs?

3

Uma coisa que eu me vejo fazendo muito é sempre que eu reinicio o emacs, eu tenho que redigitar o comando de compilação:

make XXX -f path-to-makefile/makefile

Às vezes, eu também posso estar trabalhando em coisas diferentes ao mesmo tempo, por exemplo, editando um documento .tex e escrevendo código, e acabo tendo que redigitar o comando de compilação quando eu alterno de um para o outro.

Existe uma maneira melhor de fazer isso? Posso de alguma forma associar arquivos com comandos de compilação específicos do arquivo que são conhecidos pelo emacs por padrão? Ou há alguma outra abordagem que melhore o fluxo de trabalho de compilação?

    
por daj 31.07.2013 / 16:00

1 resposta

0

Às vezes eu também posso estar trabalhando em coisas diferentes ao mesmo tempo, por exemplo, editando um documento .tex e escrevendo código, e acabo tendo que redigitar o comando de compilação quando eu alterno de um para o outro. em>

Eu escrevi um pouco de elisp para ajudar a lidar com isso definindo vários comandos de compilação (no sentido de M-x ), cada um associado ao seu próprio buffer e comando shell.

Aqui está o código relevante: link

Com esta configuração, eu defino 4 comandos de compilação, que eu ligo ao <F5> - <F8> keys, e geralmente uso um fluxo de trabalho semelhante ao seguinte:

  • <f5> (ou M-x compile5 ): associado a make -k
  • <f6> (ou M-x compile6 ): associado a make -k test
  • <f7> (ou M-x compile7 ): associado a doxygen

toda vez que eu reiniciar o emacs, eu tenho que redigitar o comando de compilação

Isso é algo que eu não faço muito (reiniciando o Emacs). No entanto, dê uma olhada a variável compile-command . Da documentação ( C-h v compile-command ):

Last shell command used to do a compilation; default for next compilation.

Sometimes it is useful for files to supply local values for this variable.

(mas também leia o aviso sobre como usar isso como uma variável de arquivo local.

    
por 01.08.2013 / 14:39

Tags