2014-06-26 55 views
1

我對emacs的一切都使用了,而且我經常在後臺的緩衝區中打開幾個不同的項目。通常情況下,這需要打開許多同名的文件(例如makefile)。當我使用我當前的緩衝區時,Emacs如何知道我指的是哪個文件?Emacs如何知道我想要編譯的文件?

例如,我正在研究SML中的一個大型項目。通過運行調用編譯管理器的sml sources.cm來啓動編譯。我打開了多個sources.cm,但Emacs選擇了正在處理的文件的正確目錄中的一個,即使我願意,它也不會提供給sml sources.cm<2>的選項。同時,我可以保留在當前的緩衝區中,並撥打M-x compile tsc App.ts來啓動另一個處於完全不同目錄中的Typescript的項目的編譯。

M-x compile命令在什麼環境下運行?

回答

4

每個emacs緩衝區都有自己的default-directory,這就是執行compile-command的地方。

+0

啊,我看到它實際上比我想象的要少。這更有意義。謝謝。 –