gpt4 book ai didi

emacs - 每次保存时如何进行 Emacs 备份?

转载 作者:行者123 更新时间:2023-12-04 17:27:12 25 4
gpt4 key购买 nike

有时我会删除我不应该删除的文件,最糟糕的是我自己编写的文件。因此,我多次被 Emacs 的备份功能所救。

但我的问题是 Emacs 仅在您第一次保存缓冲区时进行备份。有没有办法让 Emacs 每次按 C-x C-s 都这样做?

这是我的 .emacs 目前的样子(仅处理备份的部分):

* 剪 *

;; ===== 备份 =====

;;启用备份文件。
(setq make-backup-files t)

;;将所有备份文件保存在此目录中。
(setq backup-directory-alist (quote ((".*". "~/.emacs_backups/"))))

;;始终通过复制备份(最安全,但最慢)
(setq 复制备份 t)

;;保存备份时将 .~1~(和递增的数字)附加到文件末尾
(setq 版本控制 t)

;;定义要保留多少个旧版本的文件(从
;;最近和倒数
(setq keep-new-versions 100)

* 剪 *

最佳答案

看完这篇:EmacsWiki: Force Backups

我将这些行添加到我的 .emacs 中:

(defun force-backup-of-buffer ()
(setq buffer-backed-up nil))

(add-hook 'before-save-hook 'force-backup-of-buffer)

它利用标准的备份/版本控制,但会重置标志,该标志指示缓冲区是否在保存之前已备份。

前两行定义了一个函数,用于重置指示缓冲区是否在此 session 期间备份的标志。

最后一行添加了一个在保存之前执行函数的事件 Hook 。

这正是我想要的。

关于emacs - 每次保存时如何进行 Emacs 备份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6916529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com