6 Tags
tags 主要使用 字母,数字,_ 和 @ 这些来组成,并且前后都需要有 :,多个 tag 可以同时使用,比如: :work:urgent:
tag 继承
- 多层级标题中的 tag 会被自动继承,虽然并没有直接显示出来。
- 如果希望整个文件都试用某个 tag,那么可以在文件开头这样写 #+FILETAGS: :Peter:Boss:Secret:。
设置 tag
- M-TAB可以补完 tag
- 对标题使用新的 tag,可以使用 C-c C-q在这个标题以及标题下面包含的文字中都可以直接添加 tag,添加的 tag 会被自动加到标题右面
- 如果当前编辑点就在标题,那么可以直接使用 C-c C-c就相当于C-c C-q
- 如果想要全局可用的 tag,那么需要在设置中,设定 org-tag-alist
- 如果只是在本文件中可用的 tag,那么可以在文件中添加 #+TAGS: @work @home @tennisclub或者#+TAGS: laptop car pc sailboat
- 可以对 tag 来设置快捷键,全局的这样设置 (setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
- 可以对 tag 来设置快捷键,本文件这样设置 #+TAGS: @work(w) @home(h) @tennisclub(t) laptop(l) pc(p)
tag 组
- 组 tag,这样设置 #+TAGS: [ GTD : Control Persp ]
- 互斥组 tag,这样设置 #+TAGS: { Context : @Home @Work }
- 如果想要临时关闭组标签,可以 org-toggle-tags-groups来触发,默认绑定C-c C-x q
搜索 tag
- 搜索 tag,可以使用 C-c / m,如果想要过滤非 todo,可以在前面追加C-u
- 生成和日常相关的 list,使用 M-x org-agenda m
- 和日常相关的,必须是 todo 或 选择框的,使用 M-x org-agenda M
- 搜索语法,+boss+urgent-project1表示必须同时满足 boss 和 urgent,并且不是 project1;Kathy|Sally表示满足 kathy 或者 sally 都可以。
7 Properties
- 属性是键值对形式,形式类似于 :Title: Gold。
- 多个属性放在一起,缩进,并且以 :PROPERTIES:首行,以:END:为末行,中间包裹住多行属性。每个属性单独占一行,
- 可以把可能的属性值放到一个总的属性中,比如说所有 Xyz可能的值,都放到Xyz_ALL中,如::NDisks_ALL: 1 2 3 4
- 总属性可以被继承,所以总属性放在上层,下层可以直接使用相应的值。
- 如果想要总属性对整个文件有效,可以在开头, #+PROPERTY: NDisks_ALL 1 2 3 4
- 设置属性: C-c C-x p,先后输入 key 和 value,如果先前没有属性,还会自动创建首末行,否则只是增加相应的属性行。
- 删除属性 C-c C-c d,必须在属性区域内,这个组合键才有效,选择相应的属性删除即可。
8 Dates and Times
TODO 条目可以加日期和时间标签。
8.1 时间戳
- 时间格式: <2003-09-16 Tue><2003-09-16 Tue 09:39><2003-09-16 Tue 12:00-12:30>
- 时间戳可以让条目出现在 agenda 中,参考 The Weekly/daily Agendahttps://orgmode.org/manual/Weekly_002fdaily-agenda.html
- 时间戳还可以表示重复间隔时间, N days (d), weeks (w), months (m), or years (y),比如 <2007-05-16 Wed 12:30 +1w>
- 表达式日期,<%%(diary-float t 4 2)>, 注意,表达式日期可能会因为年月日的顺序问题导致出错。
- 时间日期区间,使用 --来表达,<2004-08-23 Mon>--<2004-08-26 Thu>
- 注意,只有尖括号 <>才可以触发 agenda 中的显示,[]方括号不能触发显示。
8.2 创建时间戳
- 添加 <>时间戳,使用C-c ., 如果在也有的时间上使用这个命令,那就只是修改时间,如果连续使用两次,那就是时间区间。
- 添加 []时间戳,使用C-c !
- 选择日期,使用 S-LEFTS-RIGHT
- 修改日期,还可以直接在日期上使用 S-UPS-DOWN
8.3 死线和日程
- 创建死线 C-c C-d
- 创建日程 C-c C-s
- 如果需要重复,类似这样即可 DEADLINE: <2005-10-01 Sat +1m>, 表示在第一次死线之后,每隔一个月都是一次死线。
8.4 统计工时
- 开始计时 C-c C-x C-i,当使用C-u作为前缀时,选择第几个计时的任务
- 停止计时 C-c C-x C-o
- 设定评估时长 C-c C-x C-e,这个会产生超时提示。
- 取消计时 C-c C-x C-q
- 跳转当前计时任务 C-c C-x C-j,当使用C-u作为前缀时,选择第几个计时的任务
9 Capture, Refile, Archive
org 使用 capture 来收集新想法和任务,并附上参考信息。移动完成的任务到归档文件,让系统更加精简和快速。
9.1 捕捉
- 默认的捕捉文件位置是 ~/.notes,可以使用命令来修改文件位置:(setq org-default-notes-file (concat org-directory "/notes.org")), 建议修改文件为 org 后缀,否则捕捉时,会有警告提示,虽然不影响工作。
- 开始捕捉 M-x org-capture,因为前面已经按照 org-mode 的推荐,绑定了按键,所以可以使用C-c c来开启
- 结束捕捉输入 C-c C-c
- 把捕捉文件中的内容转移到其他位置 C-c C-w
- 放弃捕捉 C-c C-k
- 如果安装了 counsel这个插件,那么直接C-c c,可以看到已经设定好了Task这个模板,通过搜索elpa/counsel-20220402.953/counsel.el可以看到具体的默认配置如下:
(or (org-contextualize-keys
                    (org-capture-upgrade-templates org-capture-templates)
                    org-capture-templates-contexts)
                   '(("t" "Task" entry (file+headline "" "Tasks")
                      "* TODO %?\n  %u\n  %a")))))
- 上面这个代码的意思是,使用 t这个快捷键,选择Task这个条目,文件名为空,即当前文件名,放在Tasks这个标题下面,上层标题等级为*,本次为 TODO 类型,%?为插入内容的位置,%u为方括号的时间戳,%a为产生文件链接。
9.2 重生成文件和复制
如果想把捕捉的数据放到其他地方,直接剪切复制太麻烦了。
- C-c C-w用来移动捕捉的信息,移动的目标通过- org-refile-targets来设定
- C-u C-c C-w跳转标题
- C-u C-u C-c C-w跳转到最后一次移动的标题树
- C-c M-w复制而非移动剪切
9.3 归档
把完成的项目进行归档,有助于文件简洁,agenda 更加快速。最通用的归档方式是移动项目树到另外一个文件。
- C-c C-x C-a把当前条目归档,可以定制- org-archive-default-command
- C-c C-x C-s或者- C-c $把当前的子树归档,位置为- org-archive-location
- 默认情况,归档文件时当前目录下,原文件名追加 _archive,可以修改文件名模板,请查看org-archive-location。 还可以通过文件内的方式来设定位置,#+ARCHIVE: %s_done::
10 Agenda Views
分散在多个文件中的需要在特定时间处理的事务,需要专门收集并整理显示。这些信息会被专门显示在 agenda buffer 中。这个 buffer 只读,但是提供命令可以访问原始的文件并修改他们,意味着你可以修改他们的预定日期。
10.1 日程文件
- org-agenda-files决定哪些文件时日程文件
- C-c [添加当前文件到日程文件列表中。如果已经在列表中,就移动到最前。添加前缀,可以添加或移动到尾部
- C-c ]把当前文件从列表中移除
- C-'- C-,窗口中循环查看列表中的文件。
10.2 日程调度
- 使用 M-x org-agenda或者C-c a来通过 dispatcher 来生成 view,首先会生成一个窗口,然后不同的快捷键产生不同的界面。
- a生成本星期的日程表,包含已经完成和未完成的。 scheduled 和 deadline 会注明并分开显示。
- t- T生成 todo 的表单
- m- M可以通过指定的 tag, property 来过滤标题
- s搜索关键字
10.3 本星期日程
目的是生成类似于纸质档的本星期日程表,展示本星期所有的任务。
- 假期可以这种格式 %%(org-calendar-holiday) ; special function for holiday names
- 生日可以这种格式 %%(org-anniversary 1956 5 14) Arthur Dent is %d years old
- 如果需要额外增加预约,可以使用命令 org-agenda-to-appt
10.4 全局 TODO 表单
- C-c a t显示所有的 TODO 标记的表单
- C-c a T可以显示指定标记的表单,比如 DONE 的表单。
10.5 匹配标签和属性
通过 agenda view 来过滤标签和属性,类似的方法还有 C-c / m 通过搜索树形展示结果。
- C-c a m可以通过- +work+urgent-withboss或者- work|home这样的来搜索并展示
- C-c a M搜索后,只展示- TODO的数据。
- work|laptop+night还可以这样组合使用。
- PROPERTY OPERATOR VALUE使用一个比较操作符,可以搜索属性
10.6 搜索 view
搜索关键字 C-c a s
- +computer +wifi -ethernet -{8\.11[bg]}这样表示搜索- computer和- wifi并且 不含- 8.11b- 8.11g
- 搜索除了 agenda 文件,还会搜索 org-agenda-text-search-extra-files指定的文件。
10.7 agenda buffer 命令
agenda view 本身是不能修改的,但是可以通过命令来查看和修改原始文件。
移动
| 按键 | 作用 | 
|---|---|
| n | 类似 C-n | 
| p | 类似 C-p | 
| SPC | 在另外一个窗口中查看原来的条目。还可以带前缀参数 | 
| TAB | 跳转到另外一个窗口中的对应条目 | 
| RET | 另外再打开一个窗口,跳转到对应条目,并关闭原来的窗口 | 
改变显示
| 按键 | 作用 | 
|---|---|
| o | 删除其他窗口 | 
| d | 切换为 天 | 
| w | 切换为 星期 | 
| f | 切换到下一个时间周期,如果当前是星期显示,就切换到下个星期,如果是天显示,就切换到下一天 | 
| b | 切换到上一个时间周期 | 
| . | 切换到今天 | 
| j | 跳转到某天,可以通过 S-left之类的来选择日期 | 
| l | 打开或关闭 logbook,显示详细的开始和结束时间 | 
| r / g | 刷新 agenda buffer,可能有改动 | 
| s | 保存当前所有的 org 文件 | 
修改
| 按键 | 作用 | 
|---|---|
| 0 -- 9 | 数字 | 
| t | 修改 todo 状态,再源文件和 view 中都修改 | 
| C-k | 删除条目包含子树 | 
| C-c C-w | 当前条目 refile | 
| a | 当前条目和子树归档,使用 org-archive-default-command 中的设定 | 
| $ | 当前条目和子树归档 | 
| C-c C-s | 设置日程,有前缀参数时,移除时间戳 | 
| C-c C-d | 设置死线,有前缀参数时,移除时间戳 | 
| S-RIGHT | 时间戳向未来一天 | 
| S-LEFT | 时间戳向过去一天 | 
| I | 开始计时 | 
| O | 停止计时 | 
| X | 取消计时 | 
| J | 跳转到另外一个窗口中正在计时的任务 | 
退出
| 按键 | 作用 | 
|---|---|
| q | 退出 agenda,离开 agenda buffer | 
| x | 离开 agenda,移除所有和 agenda 相关的 buffer | 
10.8 自定义 agenda Views
可以自己设置 views,在 C-c a 之后,可以设置快捷键和对应的筛选条件,相应的命令需要修改 org-agenda-custom-commands
(setq org-agenda-custom-commands
      '(("w" todo "WAITING")
      ("u" tags "+boss-urgent")
      ("v" tags-todo "+boss-urgent")))
在 C-c a 之后再按下列按键:
| 按键 | 作用 | 
|---|---|
| w | 查找所有是 "WAITING" 的 TODO 条目 | 
| u | 查找所有是 boss 但不是 urgent 的条目 | 
| v | 查找所有是 boss 但不是 urgent 的 TODO 条目 | 
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号