在 Calendar 中高亮有安排的日期
org-mode agenda 有一个功能,能够在 Emacs Calendar 上显示哪些日期有约会. 不过可惜,该功能默认并没有被开启。
我也是在浏览 Emacs 主题截图时偶然发现的。
在下面的屏幕截图中,你可以看到 Calendar 中有安排的日子都被高亮起来了。
配置很简单。
第一步,设置 calendar-mark-diary-entries-flag
:
(setq calendar-mark-diary-entries-flag t)
然后创建 $HOME/diary
文件,并添加下面一行:
%%(org-diary)
之后在 Emacs 中用 org-agenda 打开 agenda view 然后按 c
打开 calendar;你会发现所有重要的日期都被高亮了。
当然,执行
M-x calendar
效果一样,也能打开 calendar.
你还能够反过来操作 - 要查看某个高亮的日期有哪些安排,只需要将光标移到特定的日期然后按下 c
, Emacs 就会打开 org-mode agenda view 并将光标放到合适的地方。
Using with appointments (appt)
如果你在使用 org-mode 的同时还使用 appointments 的话,那就要小心了,调用 (appt-activate 1)
会同时运行 diary
。
这样的话,若在 Emacs 的配置文件中加了这一句话,那么在 Emacs 启动时就会弹出 diary 窗口。
我觉得这样很不好,为了避开这种行为,需要设置 appt-display-diary
变量。
下面是我的 appointments 配置:
(add-hook 'org-finalize-agenda-hook
(lambda ()
(setq appt-message-warning-time 10 ;; warn 10 min in advance
appt-display-diary nil ;; do not display diary when (appt-activate) is called
appt-display-mode-line t ;; show in the modeline
appt-display-format 'window ;; display notification in window
calendar-mark-diary-entries-flag t) ;; mark diary entries in calendar
(org-agenda-to-appt) ;; copy all agenda schedule to appointments
(appt-activate 1))) ;; active appt (appointment notification)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论