gpt4 book ai didi

emacs - 组织模式:在议程 View 中过滤标签?

转载 作者:行者123 更新时间:2023-12-04 01:57:33 26 4
gpt4 key购买 nike

当议程构建其 View 时,是否可以过滤标签?我尝试了以下方法来仅显示与工作相关的约会:

("j" "Jobb"
((agenda ""
((org-agenda-skip-function '(org-agenda-skip-entry-if 'notregexp":jobb:"))))
(tags-todo "jobb"))
((org-agenda-compact-blocks nil)))

这仅在直接标记实际约会时才有效,但如果约会从父标题继承其标记,则无效,如下所示:
 * Tider                                                              :jobb:                                                                                                                                                         
** Millas arbetstider
<2012-04-11 ons 05:00-09:00>
<2012-04-12 tor 04:15-08:30>
<2012-04-13 fre 14:30-18:30>

是否有另一种方法来执行此操作,以便显示继承其标签的约会?

最佳答案

问题在于如何org-agenda-skip-entries-if'notregexp 互动.它将跳过任何不匹配的条目 :jobb: .即使后面的条目继承了标签,它也没有明确列出,所以它们被跳过。似乎也没有任何内置方法可以使用 org-agenda-skip-entries-if 匹配(或不匹配)标签。 .如果有这样的功能,它可能是查找标签的更有效方法,但我不知道有这样的功能。
相反,您必须创建一个自定义函数来提供所需的搜索格式。
如果您将议程命令更改为:

("j" "Jobb"
((agenda ""
((org-agenda-skip-function '(zin/org-agenda-skip-tag "jobb" 't))))
(tags-todo "jobb"))
((org-agenda-compact-blocks nil)))
并定义 zin/org-agenda-skip-tag作为:
(defun zin/org-agenda-skip-tag (tag &optional others)
"Skip all entries that correspond to TAG.

If OTHERS is true, skip all entries that do not correspond to TAG."
(let ((next-headline (save-excursion (or (outline-next-heading) (point-max))))
(current-headline (or (and (org-at-heading-p)
(point))
(save-excursion (org-back-to-heading)))))
(if others
(if (not (member tag (org-get-tags-at current-headline)))
next-headline
nil)
(if (member tag (org-get-tags-at current-headline))
next-headline
nil))))
你会得到我理解的你想要的议程 View 。如果我把它倒过来并且接下来 3 天的条目不应该出现,你只需要将函数更改为 (zin/org-agenda-skip-tag "jobb")(zin/org-agenda-skip-tag "jobb" 'nil) ,在这种情况下它们是等价的。
议程 View
在这种情况下 test-new是我使用的组织文件的名称,它可以被忽略。我还将两个标题都设置为 TODO在测试功能时让它们可见,因为我将议程限制在一个文件中。
Week-agenda (W15):
Monday 9 April 2012 W15
Tuesday 10 April 2012
Wednesday 11 April 2012
test-new: 5:00- 9:00 TODO Millas arbetstider :jobb::
Thursday 12 April 2012
test-new: 4:15- 8:30 TODO Millas arbetstider :jobb::
Friday 13 April 2012
test-new: 14:30-18:30 TODO Millas arbetstider :jobb::
Saturday 14 April 2012
Sunday 15 April 2012

================================================================================
Headlines with TAGS match: jobb
test-new: TODO Tider :jobb:
test-new: TODO Millas arbetstider :jobb::

关于emacs - 组织模式:在议程 View 中过滤标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com