首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs文件编辑历史

Emacs文件编辑历史
EN

Stack Overflow用户
提问于 2012-05-10 22:07:43
回答 3查看 2.8K关注 0票数 5

在编辑文件时,是否有一个emacs扩展可以定期获取文件的快照(每分钟一次,每一个x键击一次),类似于Eclipse中的更改历史或Google和其他程序中的编辑历史?

我希望有一些东西能让我轻松地浏览我每天所做的改变--有这样的东西已经写好了吗?

编辑

我应该说得更具体点-我不是在找VCS。我正在寻找一个小模式或类似的东西,我可以打开,并有硬拷贝的修订在磁盘上。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-11 15:54:52

有一个名为autosave的内置特性,可以在输入N个键后保存(可能在M秒之后,我不确定)。如果Emacs崩溃,我通常会使用它,而不是查看我所做的编辑;撤销更好。这是我的配置:

代码语言:javascript
复制
(setq autosave-dir (concat user-emacs-directory "autosaves/")
      auto-save-list-file-prefix (concat emacs-persistence-directory
                                         "autosave-list"))
(if (not (file-exists-p autosave-dir))
    (make-directory autosave-dir t))
(add-to-list 'auto-save-file-name-transforms
             `("\\`/?\\([^/]*/\\)*\\([^/]*\\)\\'" ,(concat autosave-dir "\\2") t))
;; tramp autosaves
(setq tramp-auto-save-directory (concat user-emacs-directory "tramp-autosaves/"))
(if (not (file-exists-p tramp-auto-save-directory))
    (make-directory tramp-auto-save-directory))

还有一个备份系统,它在每次保存(不是自动保存)之后创建一个副本。我用它来做我认为你所要求的-查看我上次VCS提交后的历史。这是我的配置:

代码语言:javascript
复制
(setq make-backup-files t
      vc-make-backup-files t
      version-control t
      kept-new-versions 256
      kept-old-versions 0
      delete-old-versions t
      backup-by-copying t)
(setq backup-dir (concat user-emacs-directory "backup/"))
(if (not (file-exists-p backup-dir))
    (make-directory backup-dir))
(add-to-list 'backup-directory-alist
             `(".*" . ,backup-dir))
(defun force-backup-of-buffer ()
  (setq buffer-backed-up nil))
(add-hook 'before-save-hook 'force-backup-of-buffer)
;; this is what tramp uses
(setq tramp-backup-directory-alist backup-directory-alist)

(add-to-path "backup-walker")
(autoload 'backup-walker-start "backup-walker"
  "start walking with the latest backup" t)

我使用优秀的后援步行器浏览备份。

票数 5
EN

Stack Overflow用户

发布于 2012-05-10 22:24:42

如果您真的重视保持更改,我强烈建议您开始使用git。它将适用于您的windows和linux编码环境。我使用它来移植代码前后的更改。它在修复所有的小行尾和合并更改方面做得很好。

如果您真的希望它保留旧版本,那么emacs可以在每次保存时创建一个新的备份。它只是在当前文件的旁边创建另一个文件。这样,您就可以控制它进行新备份的频率(每次保存)。

这里有一个很好的页面,介绍了这些选项:

18.html#SEC109

票数 4
EN

Stack Overflow用户

发布于 2012-05-11 15:31:39

试试http://www.emacswiki.org/emacs/BackupEachSave

它救了我很多次,让我可以回溯。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10542858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档