在 elisp 中调用 org-mode 自定义命令

Calling an org-mode custom command in elisp

Org-mode 允许通过自定义 org-agenda-custom-commands 来定义自定义命令。做这样的事情:

(setq org-agenda-custom-commands
  '(("pb" "Bugs "
      (
       (todo "KNOWNCAUSE")
       (todo "BUG")
       (todo "REPORT")
      )
    ((org-agenda-files (list projects-dir))))

将允许我按 C-c a 调用议程调度程序,然后如果我按 pb 它将按文件夹过滤我的待办事项(project-dirs) 和各州。

是否有 elisp 函数调用直接在 org-agenda-custom-commands 中定义的(特定)自定义命令?

换句话说:我想要一个 elisp 函数,如果调用它会显示我过滤的待办事项,就像现在按 C-c a p b 一样。

我认为您正在寻求一种从函数调用调度程序的方法,以便您可以重用已配置的调度程序。尝试:

(org-agenda nil "pb")

如果您正在寻找要添加到挂钩或初始化的函数,您可以使用 lambda 表达式将其包装起来。因此,例如,您可能将初始缓冲区作为此视图:

(setq initial-buffer-choice (lambda ()
  (org-agenda nil "pb")
  (get-buffer "*Org Agenda*")))