推荐两个 Org 随机推荐的包

Org 文件内容多了加上时间久了不回顾时常都不记得自己记过什么,在 melpa 上看到两个有意思的包,推荐给大家

org-randomnote org-random-todo

TODO 终结者. :sweat_smile:

1 个赞

有没有可以用在agenda视图的随机选n个的函数? 我的想法是通过自定义的排序函数或是skip函数实现?

应该是没有,上面每次随机一个不挺好么

另外你可以看下 org-agenda-limit-interactively,不过只是限定,可以与 org-agenda-cmp-user-defined 一起实现你的需求。

不过我觉得通过 tag category 或者 effort 过滤出当下合适的任务而非随机才是正道。

啊,不是用于任务。场景是这样的,我有一个小本本记录了格言,想在动力不足的时候随机展示几条 :joy: 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 个赞