Next: , Previous: , Up: Tags   [Contents][Index]

6.3 Tag groups

In a set of mutually exclusive tags, the first tag can be defined as a group tag. When you search for a group tag, it will return matches for all members in the group. In an agenda view, filtering by a group tag will display headlines tagged with at least one of the members of the group. This makes tag searches and filters even more flexible.

You can set group tags by inserting a colon between the group tag and other tags—beware that all whitespaces are mandatory so that Org can parse this line correctly:

#+TAGS: { @read : @read_book @read_ebook }

In this example, ‘@read’ is a group tag for a set of three tags: ‘@read’, ‘@read_book’ and ‘@read_ebook’.

You can also use the :grouptags keyword directly when setting org-tag-alist:

(setq org-tag-alist '((:startgroup . nil)
                      ("@read" . nil)
                      (:grouptags . nil)
                      ("@read_book" . nil)
                      ("@read_ebook" . nil)
                      (:endgroup . nil)))

You cannot nest group tags or use a group tag as a tag in another group.

If you want to ignore group tags temporarily, toggle group tags support with org-toggle-tags-groups, bound to C-c C-x q. If you want to disable tag groups completely, set org-group-tags to nil.