如何控制Emacs如何制作备份文件?

时间:2020-03-06 14:54:33  来源:igfitidea点击:

Emacs到处都放有名为" foo〜"的备份文件,我不想记住要删除它们。另外,如果我编辑的文件在文件系统中的其他位置具有硬链接,则在完成编辑后,硬链接会指向备份,这会造成混乱和麻烦。如何消除这些备份文件,或者将它们放到同一目录之外的其他地方?

解决方案

如果我们曾经被Emacs备份文件保存过,那么我们
可能需要更多,而不是更少。烦死了
它们与我们正在编辑的文件位于同一目录中,
但这很容易改变。我们可以删除所有备份文件
通过将以下内容放入目录中
.emacs

(setq backup-directory-alist `(("." . "~/.saves")))

有许多与Emacs如何关联的奥秘细节
可能会创建备份文件。它应该重命名原件吗
并写出编辑后的缓冲区?如果原件被链接怎么办?
通常,最安全但最慢的选择是始终进行备份
通过复制。

(setq backup-by-copying t)

如果由于某种原因它太慢了,我们也可以看看
链接时通过复制进行备份。

由于备份现在都放在了自己的位置,因此我们可能需要
他们更多,而不是更少。看看Emacs
这些变量的文档(带有C-h v)。

(setq delete-old-versions t
  kept-new-versions 6
  kept-old-versions 2
  version-control t)

最后,如果我们绝对没有备份文件,请执行以下操作:

(setq make-backup-files nil)

但是让我想起来却使我感到恶心。

配置备份选项的另一种方法是通过"定制"界面。进入:

M-x customize-group

然后在"自定义组:"提示下,输入"备份"。

如果滚动到缓冲区的底部,则会看到"备份目录列表"。单击显示值,然后按如下所示设置列表的第一项:

Regexp matching filename: .*
Backup directory name: /path/to/your/backup/dir

另外,我们可以将我的设置"将备份文件设为关闭"来关闭备份。

如果我们不希望Emacs自动编辑.emacs文件,则需要设置一个自定义文件。

我们可以通过以下方式完全禁用它们

(setq make-backup-files nil)