我经常使用 emacsclient 来编辑/tmp 中的临时文件,并希望像处理其他文件一样自动创建我的文件的备份副本。我确定有办法做到这一点 - 但怎么做? :)
(我搜索了 Emacs 手册、emacswiki 和 SO,但找不到任何有用的东西)
最佳答案
查看 normal-backup-enable-predicate
函数,它是 backup-enable-predicate
变量的默认值。
由于默认函数的唯一目的是禁止备份各种临时目录中的文件,您可能只想设置一个无条件返回 t
的替换。
(setq backup-enable-predicate (lambda (name) t))
files.el 中的用法向我建议您也可以将此变量设置为
nil
。这在文档中没有说明,所以它可能不可靠,但是 Emacs 中的任何其他库都没有引用该变量,所以它可能没问题(但我仍然建议使用 lambda,因为它在做什么更明显)。另见 C-hig
(elisp) Making Backups
RET不详我实际上并不熟悉
small-temporary-file-directory
(请参阅该变量的文档字符串),但 temporary-file-directory
值通常是 /tmp/
,因此这两种情况通常是相同的。如果您确实希望保留某些临时目录的默认行为而不是其他临时目录,则应定义原始函数的修改副本:
(defun my-backup-enable-predicate ...)
然后是 (setq backup-enable-predicate 'my-backup-enable-predicate)
关于emacs - 如何配置 Emacs 保存临时目录下文件的备份?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22775098/