2010-01-06 95 views
18

我希望组织模式议程能够在打开Emacs时自动显示我今天要做的事情。 org-agenda命令是交互式的,所以它似乎不适用于此目的。如何在Emacs启动时显示组织模式议程?

有没有一种方法可以显示Emacs启动时的组织模式议程?

感谢,

康纳尔

回答

20

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

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

这是票。下面的kwatford的回答也非常有帮助,但我无法添加'(org-agenda-list 1)作为我的.emacs文件的参数。如果有人能够澄清这一点,我会很高兴。 – Conor 2010-01-07 23:03:09

+4

'(add-hook'after-init-hook'(lambda()(org-agenda-list 1)))' – 2010-01-08 20:48:59

+0

这有效,但是我怎样才能关注启动时的“Org Agenda”缓冲区? (我正在使用tabbar) – lecodesportif 2010-04-06 07:05:43

3

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

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

1

我有一个bash别名与议程开放启动Emacs:

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

享受。

8

这个工作对我来说(在.emacs):

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

没有第一线,闪屏 “覆盖” 的议程;没有第三个,暂存缓冲区仍然可见。

+1

对于emacsclient,我们可以使用'emacsclient -t --eval'(org-agenda-list)“”(delete-other-windows)“'将其设置为'function'或'alias'。 – yuxuan 2016-04-18 03:46:58

0

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

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