在所有运行的Emacs实例中执行命令



我有两个VNC会话,我可以在其中访问同一项目。我有多个针对多个项目开放的Emacs会议。在VNC1上保存工作并使用VNC2时,我将需要一种方法来运行命令"更新所有打开的文件",以在VNC2上运行的每个emacs中,因此它与VNC1中发生的更改同步。

我已经捆绑了f10来做"恢复全部空班",因此我需要此脚本才能进入每个emacs并进行更新。因此

有关如何处理此问题的任何指针?

您可以从代码块开始并自定义'synchronize-on-this函数以执行您想要的任何事情(现在它只会打印消息)。

(defvar synchronize-file "~/.synchronize" )
(defun synchronize-on-this ()
  (when (string-equal (file-truename synchronize-file) 
                     (file-truename (buffer-file-name)))
    (message "Have synchronized!")))
(find-file-noselect synchronize-file)
(global-auto-revert-mode 1)
(add-hook 'after-revert-hook 'synchronize-on-this)

只需使您的 f10 绑定到写入synchronize-file的函数,就可以了。您可以将信息存储在同步过程中使用的该文件中 -

最新更新