语境
当emacs检测到文件在编辑缓冲区之外被更改时。
观测到的
emacs将询问:
磁盘中的文件名已更改;真的编辑缓冲区吗?(y,n,r或Ch)
(顺便说一句,有时即使没有实际更改,也会发生这种情况,例如时钟漂移的服务器上的远程文件,但是在所有情况下,这个问题都很有趣。)
希望
emacs会问:
磁盘中的文件名已更改;真的编辑缓冲区吗?(y,n,r,d或Ch)
按下d
将显示版本之间的差异,例如ediff-current-file
,允许以交互方式遍历差异。
附加信息
这与Debian软件包管理检测到本地定制的配置文件被其拥有的软件包的较新版本更新时的操作类似。有关示例,请参阅可用的新版本的配置文件/ etc / default / grub,但是当前安装的版本已在本地进行了修改-Unix&Linux Stack Exchange
询问前先搜寻
我通常会找到解决方案的方法(例如emacsclient-从外部脚本打开文件,然后运行一些简单的表达式(无论emacs是否已运行-Emacs Stack Exchange)),但是在搜索之后,我找不到任何现有的解决方案。
我会考虑自己进行调整,但对emacs-lisp和emacs内部构件还不够熟练。
解决方案草图
C-g
然后按“ Mx ediff-current-file”即可完成该工作,但要花一些击键。- 目标是
ediff-current-file
在上述提示下一次按一下键即可运行。
1
相关:当emacs建议恢复此文件时,如何查看差异?
—
吉尔(Gilles)'所以
@吉尔斯谢谢你。是的,相关且不同。您的链接是关于文件打开时间的。这是关于文件节省时间。
—
斯特凡纳·古里科