如何在 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)"
将其设为function
或alias
。【参考方案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 模式议程?的主要内容,如果未能解决你的问题,请参考以下文章