在org-mode中自动分配标签

时间:2015-04-22 05:40:14

标签: emacs tags org-mode

当标签已存在于标题中时,我讨厌分配标签。我想找出一种让org-mode评估标题的方法(最好是在我点击"输入"之后),如果它包含与我的org-tag中的标签匹配的任何单词, alist,为标题创建标签。

举个例子:

如果我有各种个人姓名和各种项目名称,甚至可能包括"今天","明天"和"下周"已经在我的org-tag-alist中,当我键入类似:

" TODO记得明天向Joe询问XYZ项目的截止日期。" 然后点击Enter,然后评估标题,并为该项目生成标签:Joe:XYZ:Tomorrow:

有没有人见过这样的事情,或者有关于我自己怎么做的建议?

1 个答案:

答案 0 :(得分:3)

此函数获取条目为1的条目的标题,将其拆分为单词,并将其在org-tag-alistorg-tag-persistent-alist

中找到的任何单词添加为标记
(defun org-auto-tag ()
  (interactive)
  (let ((alltags (append org-tag-persistent-alist org-tag-alist))
        (headline-words (split-string (org-get-heading t t)))
        )
    (mapcar (lambda (word) (if (assoc word alltags)
                             (org-toggle-tag word 'on)))
            headline-words))
    )

将这样的函数添加到org-capture-before-finalize-hook以自动标记新捕获的条目可能很有用。