本文翻译自 http://doc.norang.ca/org-mode.html ,原文作者为Bernt Hansen 。由于原文较长,因此会分多篇文章来发布。转载请标记出处。
本节主要介绍如何使用org-mode标签。标签可以标记任务上下文,方便在agenda视图中来过滤任务。
1 标签
每个任务可以有任意数量的标签。标签用途如下:
- 过滤任务
- 提供任务上下文
- 标记notes
- 标记电话回话
- 标记会议
- 标记任务需要重定向
- 标记任务在等待状态
- 标记任务被取消
- 在导出时候,阻止某些子任务被导出
我在agenda中经常用标签来过滤任务。这意味着可以通过指定的标签快速地在浩如烟海的 org文档中找到你想要的任务。
有些标签相互排斥。被定义在一个组中的标签,在一个任务中只能同时使用一个(抛开标签继承情况)。 这种标签通常是用在需要标记任务上下文的场景中(工作任务会标记 @office
, 需要在办公室处理, 农场任务标记 @farm
表示需要在农场完成–我无法给拖拉机加油如果我不在农场。。。当然, 如果我在办公室中时,我会在agenda视图中过滤掉 @farm
相关任务,只显示带 @office
标签任务)
在同一个org文件中的任务,当需要加统一标签时,可以在文件头部使用 #+FILETAGS:
属性来定义, 当文件头部使用了这个属性,意味着所有的文件中的任务都具该标签。比如,我的norang.org文件 头部会使用该属性来创建一个NORANG标签(意味着文件中所有任务都具有该标签),因此,我可以在agenda 视图中使用该标签过滤,使其只显示该文件中的任务。
1.1 标签
下面是我在agenda视图中定义的标签以及相对应的过滤的快捷键。
startgroup - endgroup( @xxx
)里边定义的标签具有相互排斥关系-当应用其中一个标签时, 会移除该组其他标签,这种标签可以称作情景类标签-正如你无法同时出现在一个地方,所以如果有 个任务既被标记@farm又被标记@office,这很明显是不合符常理的,因此当你对一个已经标记@farm 的任务应用@office标签,那么@farm标签就会被自动移除。
另一类标签,例如 WAITING
.. FLAGGED
之间定义的标签,它们并不互斥,对于任意 一个任务可以添加多个这种标签。有些标签是任务创建时候自动创建的。其中的过滤快捷键,方便 在agenda视图通过它过滤处相应的标签任务。当需要对任务设置标签时,可以使用快捷键 C-c C-q
, 快速给任务添加删除标签,由于有标签的加持,所以在agenda视图中非常方便过滤任务。
我同时定义了 FARM
标签以及 @farm
标签。 FARM
用来设置文件属性 FILETAGS
,有了这个 标签,可以快速过滤文件中的任务。 @farm
表明任务需要 /在农场完成/。如果一个回电任务标记上 FARM
标签,我在家中吃午饭的时候就可以完成回电,因此并不需要我人在农场。 这就是为什么要用两个标签的原因。
#+header: :tangle yes
#+begin_src emacs-lisp
; Tags with fast selection keys
(setq org-tag-alist (quote ((:startgroup)
("@errand" . ?e)
("@office" . ?o)
("@home" . ?H)
("@farm" . ?f)
(:endgroup)
("WAITING" . ?w)
("HOLD" . ?h)
("PERSONAL" . ?P)
("WORK" . ?W)
("FARM" . ?F)
("ORG" . ?O)
("NORANG" . ?N)
("crypt" . ?E)
("NOTE" . ?n)
("CANCELLED" . ?c)
("FLAGGED" . ??))))
; Allow setting single tags without the menu
(setq org-fast-tag-selection-single-key (quote expert))
; For tag searches ignore tasks with scheduled and deadline dates
(setq org-agenda-tags-todo-honor-ignore-options t)
#+end_src
1.2 文件标签
文件标签用来快速对文件中所有任务应用统一标签的方法。
文件标签看上去像下面这样:
#+begin_src org :exports src
#+FILETAGS: NORANG @office
#+end_src
下表是我的不同org-mode文件中所使用的文件标签 #+FILETAGS:
。
1.2.1 工作无关的org-mode 文件
文件 | 标签 |
---|---|
todo.org | PERSONAL |
gsoc2009.org | GSOC PERSONAL |
git.org | GIT WORK |
org.org | ORG WORK |
mark.org | MARK PERSONAL |
farm.org | FARM PERSONAL |
1.2.2 工作相关org-mode文件
文件 | 标签 |
---|---|
norang.org | NORANG @office |
ABC.org | ABC @office |
XYZ.org | XYZ @office |
ABC-DEF.org | ABC DEF @office |
ABC-KKK.org | ABC KKK @office |
YYY.org | YYY @office |
1.2.3 重定向任务
文件 | 标签 |
---|---|
refile.org | REFILE |
1.3 状态触发的添加的标签
下面标签在状态转换时候自动添加,状态转换的详细信息可以参考TODO状态触发一节
WAITING
CANCELLED