【发布时间】:2012-02-26 02:33:11
【问题描述】:
每次 Emacs 启动时备份我的 .emacs 文件的好方法是什么?我想保留多份副本,以便在需要恢复到以前的版本时使用。
我的第一个想法是从 .emacs 文件中发出一个 shell 命令:
cp ~/.emacs ~/Backups/.emacs-yyyymmdd:hhmmss
... 附加当前时间戳以获得唯一的文件名。但据我所知,您无法从 .emacs 文件发出 shell 命令。
我读过BackupEachSave 和ForceBackups。有没有人有这些经验?效果好吗?
编辑:
Event_jr 关于版本控制的回答是一个可能的解决方案。不过,我更喜欢使用 shell 命令,因为版本控制适用于所有文件,而且我不需要对每个文件进行多次备份。
我查看了“版本控制”变量。在 Emacs 手册中是 described:
Emacs 还可以制作带编号的备份文件。带编号的备份文件名包含“.~”、> 号和原始文件名后的另一个“~”。因此,eval.c 的备份文件 >would 被称为 eval.c.~1~、eval.c.~2~ 等等,一直到 eval.c.~259~ > 等名称。
变量版本控制决定是制作单个备份文件还是多个>编号的备份文件。
所以,我将它添加到我的 .emacs 中:
; Version control and backups:
(setq version-control t)
按广告宣传。
This section 告诉如何控制每个文件的备份。我没有探索过。
【问题讨论】:
-
您可能需要考虑将 .eamcs 置于版本控制之下。很多人都这样做。
-
"版本控制适用于所有文件" 版本控制不适用于所有文件,仅适用于您明确置于版本控制之下的文件。版本控制软件会简单地忽略那些不受其控制的文件。
-
显然“版本控制”和名为“版本控制”的变量之间存在差异。如果设置了版本控制变量,则任何更改的文件都将获得编号备份。
-
所以你的意思是变量,但它也不一定适用于所有文件。您可以将其设置为缓冲区局部变量,仅用于您要为其保留多个备份的文件。
标签: version-control emacs backup configuration-files