我希望 Org 模式议程能够在我打开 Emacs 时自动显示我今天必须做的事情。org-agenda 命令是交互式的,因此它似乎不能很好地用于此目的。
有没有办法在 Emacs 启动时显示 Org-mode 议程?
谢谢,
康纳
您可以after-init-hook
在初始化完成后运行一段代码。要(org-agenda-list)
在 init 之后运行,请使用:
(add-hook 'after-init-hook 'org-agenda-list)
这对我有用(在.emacs
):
(setq inhibit-splash-screen t)
(org-agenda-list)
(delete-other-windows)
没有第一行,启动画面“覆盖”了议程;没有第三个,暂存缓冲区仍然可见。
钩子的一种替代方法是设置initial-buffer-choice
变量。如果挂钩上有多个缓冲区或许多函数,这将特别有用。此变量上的函数需要返回一个缓冲区。天真地这可能是:
(setq initial-buffer-choice (lambda ()
(org-agenda-list 1)
(get-buffer "*Org Agenda*")))
试试(org-agenda-list)
。如果你只想今天,(org-agenda-list 1)
.
当然,apropos 是您的朋友。C-h C-a org-agenda
(或任何命令)将向您显示有关该命令的有用信息。
我有一个 bash 别名,可以在议程打开的情况下启动 emacs:
alias org='/usr/bin/emacs --funcall org-agenda-list &'
享受。
它不完全是在启动时,但我让 Emacs 保持运行,所以我需要一种不同的方法
(require 'midnight)
(midnight-delay-set 'midnight-delay "7:30am")
(add-hook 'midnight-hook 'org-agenda-list)