How can I hide the backup files that emacs creates?

emacs

Solution

You can either move them to their own folder with the following code:

;; 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")))))

Or you can remove them completely, like so:

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

Personally I would be wary of removing them as they can come in useful. Further discussion is here:

- http://www.emacswiki.org/emacs/BackupDirectory

- http://www.emacswiki.org/emacs/AutoSave

I would recommend checking out the emacs-starter-kit it sorts out a load of issues that people have when coming to emacs, and is pretty heavily used.

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

Update:

There seems to be much confusion over how to use the functions. I'm going to have a little play around later but here is some more information. Note that `auto-save-file-name-transforms`:

lets you specify a series of regular expressions and replacements to transform the auto save file name [emacs-manual]

so it's not just as simple as adding in a folder name. That said it seems from a quick google search the following might just do what you all want:

;;; 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

Problem

I just started using emacs after having used vi for a long time. :) One thing which is annoying me is that whenever I modify a file, save it and exit emacs, I see a backup file created in the same directory named `filename~` (if the file I edited was `filename`). Is there any way I can get rid of this? Or hide these files? It is very annoying to see tons of backup files when I do ls of the directory.

Original source

Related problems