在Emacs中,如何检查所有打开的文件是否有变化?

时间:2011-05-06 04:01:01

标签: emacs tramp

使用> 1 Emacs(在> 1台计算机上),并且当我恢复处理特定的Emacs时,想要检查所有打开的缓冲区是否有变化(它们是通过tramp / ssh远程打开的)。

不同的Emacs可能没有打开完全相同的文件,但可能存在交叉。

不使用桌面模式或任何类似闪存(还)。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您希望在其他程序更改关联文件时在Emacs中恢复缓冲区,那么您应该查看
C-h f global-auto-revert-mode RET

答案 1 :(得分:0)

如果我理解正确,如果文件已经在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)))