如何隐藏emacs创建的备份文件?

时间:2010-01-07 14:25:49

标签: emacs

我在使用vi很长一段时间后才开始使用emacs。 :)

令我讨厌的一件事是每当我修改文件,保存并退出emacs时,我会看到在名为filename~的同一目录中创建的备份文件(如果我编辑的文件是{{1} })。

有什么方法可以摆脱这个吗?或隐藏这些文件?当我查看目录时,看到大量的备份文件是非常非常烦人的。

4 个答案:

答案 0 :(得分: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-starter-kit ,它可以解决人们在使用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

答案 1 :(得分:5)

~/.emacs中的以下行会将所有自动保存和备份文件放在/tmp中:

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

答案 2 :(得分:0)

在.emacs中:

(setq make-backup-files nil)

编辑: 如果您不熟悉.emacs文件,则它是一个名为.emacs的文件,位于用户$ HOME目录中。如果您还没有,则可以创建它,emacs将在启动时加载它。

答案 3 :(得分:0)

Here is a linkSuperUsermy response上回答了同样的问题。以及名为Emacs: Don’t create #these# files when not saving modified buffer

的StackOverflow问题

完整性,正如其他人所说;要停止正在创建的备份文件,请将其放在.emacs

(setq make-backup-files nil)