虽然给自己制定了每天读书的任务,但是无法保证每天完成,忙的时候,就跳过去了。幸好自己有计时的习惯,再配合org-habit生成一个简单的习惯养成图,可以方便地查看近期任务完成情况。
比如下面每天花半小时读《Love the Work You’re With》的任务:
* Demos ** TODO read Love the Work You're With SCHEDULED: <2017-08-10 Thu 20:00-20:30 ++1d> :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2017-08-12 Sat 16:56] :END: :LOGBOOK: CLOCK: [2017-08-02 Wed 20:14]--[2017-08-02 Wed 20:44] => 0:30 :END: - CLOSING NOTE [2017-08-09 Wed 20:24] \\ P.60 - CLOSING NOTE [2017-08-08 Tue 20:24] \\ P.50 - CLOSING NOTE [2017-08-07 Mon 20:24] \\ P.40 - CLOSING NOTE [2017-08-04 Fri 20:24] \\ P.30 - CLOSING NOTE [2017-08-03 Thu 20:24] \\ P.20 - CLOSING NOTE [2017-08-02 Wed 20:24] \\ P.10
在日历视图里显示为:
任务条左边花花绿绿的部分就是习惯养成图,星号表示读了,没有星号就是没读,惊叹号表示今天。
使用方法如下:
- 设置任务重复频率,上面例子里是++1d,即每天一次,也可以是两周一次(++2w),一个季度一次(++3m)等等。另外也可以使用.+甚至+,具体含义请查看org-mode手册;
- 设置STYLE属性值为habit;
- 每次完成任务时留个时间戳;
- 配置org-habit。
下面是我的配置:
(require 'org-habit) (setq org-habit-show-done-always-green t) ;;; 减少显示天数,使其可以放在任务条的左边 (setq org-habit-graph-column 1) (setq org-habit-preceding-days 10) (setq org-habit-following-days 2) ;;; 恢复默认日历行为 (setq org-habit-show-habits-only-for-today nil) (let ((agenda-sorting-strategy (assoc 'agenda org-agenda-sorting-strategy))) (setcdr agenda-sorting-strategy (remove 'habit-down (cdr agenda-sorting-strategy))))
后记:查看了一下之前记录比较详细的几个学习任务,完成情况不理想,看来我还挺忙的。 🙁