使用 >1 Emacs(在 >1 台机器上),并希望在我恢复使用特定 Emacs 时检查所有打开的缓冲区是否有更改(它们是通过 tramp/ssh 远程打开的)。
不同的 Emacs 可能没有打开完全相同的文件,但可能存在交叉。
不使用桌面模式或任何类似的闪光灯(还)。
谢谢!
如果您希望在关联文件被另一个程序更改时在 Emacs 中恢复缓冲区,那么您应该查看
C-hf global-auto-revert-mode
RET
如果我理解正确,如果文件已在 emacs 之外修改,您希望将任何缓冲区恢复为其文件的内容。
这是一个 lisp 的小片段,它将遍历未修改的缓冲区并从磁盘重新加载内容:
(require 'cl)
(loop for buffer being the buffers
do (when
(and (not (buffer-modified-p buffer)) (buffer-file-name buffer))
(switch-to-buffer buffer)
(revert-buffer nil t)))