Emacs如何知道我想要编译的文件?

时间:2014-06-26 20:23:18

标签: emacs compilation

我使用emacs来处理所有事情,我经常在后台缓冲区中打开一些不同的项目。通常,这涉及打开许多具有相同名称的文件(例如makefile)。当我M-x compile当前缓冲区时,Emacs如何知道我所指的文件?

例如,我正在使用SML开发一个大型项目。通过运行调用编译管理器的sml sources.cm启动编译。我有多个sources.cm打开,但是Emacs在我正在处理的文件的右侧目录中选择一个,即使我想要它也不会给sml sources.cm<2>选项。同时,我可以保留在当前的缓冲区中并调用M-x compile tsc App.ts来启动在一个完全不同的目录中的Typescript中的另一个项目的编译。

M-x compile命令在什么环境下运行?

1 个答案:

答案 0 :(得分:4)

每个emacs缓冲区都有自己的default-directory以及执行compile-command的地方。