2010-01-07 30 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