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

n1k*_*1lp 15 emacs

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

令我烦恼的一件事是,无论何时我修改文件,保存并退出emacs,我都会看到在同一目录中创建的备份文件filename~(如果我编辑的文件是filename).

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

Jam*_*oks 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")))))
Run Code Online (Sandbox Code Playgroud)

或者您可以完全删除它们,如下所示:

(setq make-backup-files nil)
(setq auto-save-default nil)
Run Code Online (Sandbox Code Playgroud)

就个人而言,我会谨慎删除它们,因为它们可能会变得有用.进一步讨论如下:

我建议查看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)))
Run Code Online (Sandbox Code Playgroud)

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


Chr*_*way 5

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

(setq backup-directory-alist
      `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))
Run Code Online (Sandbox Code Playgroud)