我在家使用 mac mini ,在外使用 macbook pro 办公,通过 Synology Drive (曾经是Dropbox) 同步多台机器上的个人/工作的代办事项。
由于在 org agenda buffer 的事项状态调整、refile 都只修改 buffer 而不会保存文件,我经常会忘记保存涉及的 org agenda 文件,导致两机上文件不同步。
我利用 org agenda 的 hook 实现了自动保存 org agenda 文件的机制,在此分享一下:
(add-hook! 'org-agenda-finalize-hook
(defun +org-save-all-agenda-files-h ()
(let ((expand-org-agenda-files (org-agenda-files t)))
(save-current-buffer
(dolist (buffer (buffer-list t))
(set-buffer buffer)
(when (and (buffer-modified-p buffer)
(member (buffer-file-name)
expand-org-agenda-files))
(save-buffer)))))))
欢迎交流学习。