Org 文件内容多了加上时间久了不回顾时常都不记得自己记过什么,在 melpa 上看到两个有意思的包,推荐给大家
TODO 终结者.
1 个赞
有没有可以用在agenda视图的随机选n个的函数? 我的想法是通过自定义的排序函数或是skip函数实现?
应该是没有,上面每次随机一个不挺好么
另外你可以看下 org-agenda-limit-interactively,不过只是限定,可以与 org-agenda-cmp-user-defined 一起实现你的需求。
不过我觉得通过 tag category 或者 effort 过滤出当下合适的任务而非随机才是正道。
啊,不是用于任务。场景是这样的,我有一个小本本记录了格言,想在动力不足的时候随机展示几条 limit的方法我怀疑总是展示固定的几条
(defvar yuchen/org-agenda-block--epigram
'(tags "_EPIGRAM" (
(org-agenda-overriding-header "人生沉思")
(org-agenda-max-entries 20)
(org-agenda-cmp-user-defined 'random-cmp)
(org-agenda-sorting-strategy '(user-defined-up))
))
"block 随机格言")
(defun random-cmp (a b)
"Randomly returns 1 and -1 with equal probability and nil with a neglibible probability"
(let ((rnd1 (random))
(rnd2 (random)))
(if (> rnd1 rnd2)
1
(if (< rnd1 rnd2)
-1
nil))))
这样貌似可行,我再多试试
这个是在 minibuffer
展示的,感觉挺好玩的。代码抄自:https://emacs.readthedocs.io/en/latest/writing_in_emacs.html#random-quotes
(defconst quotes
'("道可道,非常道;名可名,非常名。无名天地之始,有名万物之母。故常无欲,以观其妙;常有欲,以观其徼(jiào)。此两者同出而异名,同谓之玄,玄之又玄,众妙之门。"
"天下皆知美之为美,斯恶(è)已;皆知善之为善,斯不善已。故有无相生,难易相成,长短相较,高下相倾,音声相和(hè),前后相随。是以圣人处无为之事,行不言之教,万物作焉而不辞,生而不有,为而不恃,功成而弗居。夫(fú)唯弗居,是以不去。"
"上善若水。水善利万物而不争,处众人之所恶(wù),故几(jī)于道。居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。夫唯不争,故无尤。"
))
(defun show-random-quotes ()
"Show random quotes to minibuffer"
(interactive)
(message "%s"
(nth (random (length quotes))
quotes)))
(run-with-idle-timer 2 t 'show-random-quotes)
1 个赞