如何在 Emacs 启动时显示 Org 模式议程?

Posted

技术标签:

【中文标题】如何在 Emacs 启动时显示 Org 模式议程?【英文标题】:How can I show the Org-mode agenda on Emacs start-up? 【发布时间】:2010-01-06 02:04:13 【问题描述】:

我希望 Org 模式议程能够在我打开 Emacs 时自动显示我今天要做的事情。 org-agenda 命令是交互式的,因此它似乎不能很好地用于此目的。

有没有办法在 Emacs 启动时显示 Org-mode 议程?

谢谢,

康纳

【问题讨论】:

【参考方案1】:

初始化完成后,您可以使用after-init-hook 运行一段代码。要在初始化后运行 (org-agenda-list),请使用:

(add-hook 'after-init-hook 'org-agenda-list)

【讨论】:

这就是票。 kwatford 在下面的回答也很有帮助,但我无法添加 '(org-agenda-list 1) 作为我的 .emacs 文件的参数。如果有人能解决这个问题,我会很高兴。 (add-hook 'after-init-hook '(lambda () (org-agenda-list 1))) 这行得通,但我怎样才能在启动时专注于“组织议程”缓冲区? (我正在使用标签栏) 好的,我想通了。添加答案。 要使用 emacsclient 进行这项工作,您可以使用 focus-in-hook 而不是 after-init-hook。为了显示您的议程项目,您应该在设置挂钩之前设置您的议程文件/目录,(setq org-agenda-files (quote ("agenda-directory")))【参考方案2】:

这对我有用(.emacs):

(setq inhibit-splash-screen t)
(org-agenda-list)
(delete-other-windows)

没有第一行,启动画面“覆盖”了议程;如果没有第三个,暂存缓冲区仍然可见。

【讨论】:

对于emacsclient,我们可以使用emacsclient -t --eval "(org-agenda-list)" "(delete-other-windows)"将其设为functionalias【参考方案3】:

挂钩的一种替代方法是设置initial-buffer-choice 变量。如果挂钩上有多个缓冲区或许多函数,这将特别有用。此变量上的函数需要返回一个缓冲区。天真地这可能是:

(setq initial-buffer-choice (lambda ()
    (org-agenda-list 1)
    (get-buffer "*Org Agenda*")))    

【讨论】:

这个仍然显示暂存缓冲区。 (emacs 26.1)【参考方案4】:

试试(org-agenda-list)。如果您只想今天,(org-agenda-list 1)

当然,apropos 是您的朋友。 C-h C-a org-agenda(或任何命令)将向您显示有关该命令的有用信息。

【讨论】:

【参考方案5】:

我有一个 bash 别名,可以在议程打开的情况下启动 emacs:

alias org='/usr/bin/emacs --funcall org-agenda-list &'

享受吧。

【讨论】:

【参考方案6】:

不完全是在启动时,但我让 Emacs 保持运行,所以我需要一种不同的方法

(require 'midnight)
(midnight-delay-set 'midnight-delay "7:30am")
(add-hook 'midnight-hook 'org-agenda-list)

感谢https://***.com/a/14947354/217408

【讨论】:

以上是关于如何在 Emacs 启动时显示 Org 模式议程?的主要内容,如果未能解决你的问题,请参考以下文章

UISplitViewController:如何强制在应用启动时显示主弹出框? (肖像)

如何避免在后台运行时启动应用程序时显示启动画面?

如何在应用启动和退出时显示 Admob 插页式广告

保存时显示Flycheck缓冲区(有错误)

Glassfish 服务器在启动时显示错误

如何在启动时显示 KivyMD 数据表?