2009-12-06 60 views
8

我一直在瀏覽文檔,並嘗試定製和各種各樣的東西,但無論我做什麼,似乎Flymake總是將其臨時文件放入原始文件所在的任何目錄中。配置flymake使用臨時文件的特定目錄?

主要原因這是一件大事,因爲當我使用gdb逐步瀏覽我的程序時,有時我會步入STL文件或非用戶目錄中的其他文件。通常這會導致我的gdb進程因某種原因停止響應,這意味着我不得不一直回到開頭,並且要麼全局禁用Flymake,要麼希望我不必在dir中執行另一個查找文件我的emacs進程沒有寫入權限。

有沒有一種很好的方式讓flymake總是在例如~/.emacs.d/tmp

回答

5

的Emacs的最新版本僅保存 「就地」。這裏有一個簡單的黑客來保存「intemp」:http://blog.arithm.com/2011/01/27/save-_flymake-files-in-a-temporary-directory/

+0

我不得不爲python/flymake修改一下defun,但實際上它工作正常。作爲評論,我將修改後的defun添加到該頁面。它需要'臨時文件目錄'來定義,就像Jonatan Linden的答案一樣。 – quodlibetor 2011-01-28 20:30:27

+0

@quodlibetor你有沒有找到一種通用的方式,不需要單獨指定幾種模式,但一般來說(LaTeX,Python等)? – PascalVKooten 2013-10-02 09:42:50

+0

對不起@Dualinity我不需要這個足夠的嘗試,使它一般。 – quodlibetor 2013-10-02 15:48:10

0

不確定,但對於C#,flymake重新定義flymake-get-make-cmdline函數。

它返回一個字符串,爲flymake運行的命令行。我想你可以修改這個函數來返回你想要的任何東西,包括一個以某種智能方式指定臨時文件位置的命令行,用於你正在運行的任何編譯器。

2

也能正常工作對我來說:

(setq temporary-file-directory "~/.emacs.d/tmp/") 
+0

我注意到,但從來沒有修復過,當我升級emacs時,這個停止工作。 nurikabe的答案與你的結合爲我做了。 – quodlibetor 2011-01-28 20:31:32

相關問題