我的意思是:
我们每个人都在org-agenda-custom-commands
变量中设置了自己的命令。
但是,我如何检测使用了哪些命令来创建议程缓冲区的当前状态(只查看此缓冲区,可能是任何本地变量?)。
我想保存它并在以后重新创建,而不依赖于当前的.emacs
配置
发布于 2013-04-28 17:37:22
(defun wg-get-org-agenda-view-commands ()
"Get commands by which the current state of Agenda buffer can
be restored using \"(eval commands)\"."
(interactive)
(if (get-buffer org-agenda-buffer-name)
(with-current-buffer org-agenda-buffer-name
(let* ((p (or (and (looking-at "\\'") (1- (point))) (point)))
(series-redo-cmd (get-text-property p 'org-series-redo-cmd)))
(if series-redo-cmd
(get-text-property p 'org-series-redo-cmd)
(get-text-property p 'org-redo-cmd))))))
(defun wg-run-agenda-cmd (f)
"Run commands \"f\" in Agenda buffer. You can get these
commands using \"wg-get-org-agenda-view-commands\"."
(if (get-buffer org-agenda-buffer-name)
(save-window-excursion
(with-current-buffer org-agenda-buffer-name
(let* ((line (org-current-line)))
(if f (eval f))
(org-goto-line line))))))
只需读取两个函数的文档字符串即可。
感谢组织模式邮件列表上的朋友们。他们给了我一个提示。
现在我继续使用“工作组”扩展- workgroups2,它可以保存和恢复组织议程缓冲区。
https://stackoverflow.com/questions/16243292
复制