2010-01-07 87 views
14

我剛開始使用emacs很長時間以來一直使用vi。 :)如何隱藏emacs創建的備份文件?

令人討厭的一件事是,無論何時修改文件,保存並退出emacs,我都會在名爲filename~(如果我編輯的文件是filename)的同一目錄中創建備份文件。

有什麼辦法可以擺脫這個?或者隱藏這些文件?這是惱人的時候看到噸的備份文件,當我做ls的目錄。

+2

這些將是我們平時什麼調用'備份文件'。 – 2010-01-07 14:42:11

回答

19

您可以把它們移到自己的文件夾下面的代碼:

;; Don't clutter up directories with files~ 
(setq backup-directory-alist `(("." . ,(expand-file-name 
            (concat dotfiles-dir "backups"))))) 

;; Don't clutter with #files either 
(setq auto-save-file-name-transforms 
     `((".*" ,(expand-file-name (concat dotfiles-dir "backups"))))) 

或者你可以完全刪除它們,就像這樣:

(setq make-backup-files nil) 
(setq auto-save-default nil) 

個人而言,我會小心刪除它們的因爲它們可以有用。進一步的討論是在這裏:

我會建議您檢查出emacs的起動傑它挑選出的人來emacs的時候有問題的負載,並且使用相當繁重。

http://github.com/technomancy/emacs-starter-kit/blob/master/starter-kit-misc.el


更新:

好像有過如何使用其功能非常混亂。稍後我會稍微玩一下,但這裏有更多信息。需要注意的是auto-save-file-name-transforms

讓你指定了一系列的正則表達式和替換的變換自動保存的文件名 [emacs-manual]

所以它不只是在一個文件夾名稱添加一樣簡單。這就是說,似乎從快速谷歌搜索以下可能只是你所有想要的東西:

;;; backup/autosave 
(defvar backup-dir (expand-file-name "~/.emacs.d/backup/")) 
(defvar autosave-dir (expand-file-name "~/.emacs.d/autosave/")) 
(setq backup-directory-alist (list (cons ".*" backup-dir))) 
(setq auto-save-list-file-prefix autosave-dir) 
(setq auto-save-file-name-transforms `((".*" ,autosave-dir t))) 

http://www.google.com/codesearch?hl=en&lr=&q=auto-save-file-name-transforms&sbtn=Search

+0

謝謝!是否有類似名稱#文件名#創建的文件?我的答案中更改了 – n1kh1lp 2010-01-07 15:06:15

+0

。 – 2010-01-07 15:12:35

+0

非常感謝詹姆斯! :) – n1kh1lp 2010-01-07 15:27:28

0

在你的.emacs:

(setq make-backup-files nil) 

編輯: 如果你不熟悉.emacs文件,它是一個名爲.emacs的文件,駐留在用戶$ HOME目錄中。如果你還沒有,你可以創建它,emacs會在啓動時加載它。

+0

謝謝!是否有類似名稱#文件名#創建的文件? – n1kh1lp 2010-01-07 15:06:49

+0

我不確定那個。說實話,我會毫不猶豫地將它們徹底刪除,因爲通常意味着emacs在不保存緩衝區的情況下關閉。我通常經常保存,所以如果#file#確實存在,這意味着emacs /機器崩潰了;我通常最終使用它來恢復文件。 – 2010-01-07 15:16:26

5

~/.emacs以下線的備份文件被創建把這會把所有的自動保存和備份文件/tmp

(setq backup-directory-alist 
     `((".*" . ,temporary-file-directory))) 
(setq auto-save-file-name-transforms 
     `((".*" ,temporary-file-directory t))) 
+0

它看起來對我來說是一個很好的解決方案。這是我用過的。謝謝。 – 2017-02-24 10:12:07