我如何隐藏emacs创建的备份文件?
我在使用vi很长一段时间后才开始使用emacs。 :)
有一件令我讨厌的事情是,当我修改一个文件并保存并退出emacs时,我看到一个名为filename~
(如果我编辑的文件是filename
)创建了一个备份文件。
有什么办法可以解决这个问题吗? 或者隐藏这些文件? 当我执行ls的目录时,看到大量的备份文件是非常烦人的。
您可以使用以下代码将它们移动到它们自己的文件夹中:
;; 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
~/.emacs
的以下行会将所有自动保存和备份文件放在/tmp
:
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
在你的.emacs中:
(setq make-backup-files nil)
编辑:如果你不熟悉.emacs文件,它是一个名为.emacs
的文件,驻留在用户$ HOME目录中。 如果你还没有,你可以创建它,emacs会在启动时加载它。
上一篇: How can I hide the backup files that emacs creates?
下一篇: How to delete files with exclamation marks! using emacs' delete