ramlife

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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 Agenda https://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-LEFT S-RIGHT
  • 修改日期,还可以直接在日期上使用 S-UP S-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]} 这样表示搜索 computerwifi 并且 不含 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 条目
posted on 2022-10-27 14:26  ramlife  阅读(36)  评论(0编辑  收藏  举报