我在使用vi很长一段时间后才开始使用emacs。 :)
令我讨厌的一件事是每当我修改文件,保存并退出emacs时,我会看到在名为filename~
的同一目录中创建的备份文件(如果我编辑的文件是{{1} })。
有什么方法可以摆脱这个吗?或隐藏这些文件?当我查看目录时,看到大量的备份文件是非常非常烦人的。
答案 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 link在SuperUser和my response上回答了同样的问题。以及名为Emacs: Don’t create #these# files when not saving modified buffer
的StackOverflow问题完整性,正如其他人所说;要停止正在创建的备份文件,请将其放在.emacs
(setq make-backup-files nil)