我不需要保存。如何使Emacs缓冲区与文件同步?

9
我希望我的所有文件缓冲区始终与磁盘上的文件内容同步。这是否可能?(最好作为一种模式)
如果您认为这不安全,那么我只会说emacs undo + git已经足够满足我的需求,而且我觉得显式保存和还原(如果其他程序更改了文件)是过时的安全功能。

你会严重缩短存储文件的介质寿命。 - Jed Smith
你想要自动保存还是自动恢复? - Schwern
我想要同步 - 即自动保存和自动回滚。 - Łukasz Lew
我会缩短媒体的寿命还是它会通过磁盘缓存?如何检查? - Łukasz Lew
它将存储在磁盘缓存中,但根据您的操作系统,该缓存大约每20秒钟会被写入一次。如果是硬盘,我不会担心它,但基于闪存的磁盘可能更令人担忧。对于更好的磁盘来说,这仍然不是一个严重的问题。 - Paul McMillan
3个回答

9
为了将所有内容汇总在一起:
如果您希望自动保存在访问的文件中而不是在单独的自动保存文件中完成,请将变量auto-save-visited-file-name设置为非nil值。在此模式下,自动保存和显式保存之间没有实际区别。

http://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Files.html#Auto-Save-Files

这样可以使您的自动保存进入您正在工作的文件,而不是外部文件。
然后,您可以将auto-save-interval设置为1,并启用global-auto-revert-mode,然后就完成了。
我认为这对您足够了...

不错。但是我只想对受git监控的文件执行此操作,这是否可以自动化? - Łukasz Lew
你可以修改本地的git.el文件,以便只在编辑git控制的文件时启用这些更改。 - Paul McMillan
1
仅返回翻译文本:或使用类似 eproject 的工具在项目类型基础上进行配置。 - l0st3d

3

另请参阅:http://bryan-murdock.blogspot.com/2008/03/beat-save-habit.html,EmacsWiki:http://www.emacswiki.org/emacs/AutoSave,以及(毫无意义的):http://shreevatsa.wordpress.com/2008/01/22/emacs-auto-save/。 - ShreevatsaR

1

看起来你想要 auto-revert-mode(或者更可能是 global-auto-revert-mode)。


解决了一半的问题,那全局自动保存模式呢? - Łukasz Lew
啊,通过“我不需要保存”我认为你从来不想写入文件。 - Nicholas Riley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接