如何使用org设置日程上篇已经介绍完,那现在的重点就是如何查看日程,并且真正将org运用到日常工作中来。之前学习org跨越了很长时间,但一直没有落实到日常应用,所以过一阵子就会忘记,得来的教训就是学习任何语言,工具一定要落实在使用中,纸上谈兵要不得。让我们一起开始使用org-agenda查看,管理及运用设置好的日程。
纸上得来终觉浅,绝知此事要躬行.
日程 Agenda
定义完ToDo之后,使用M-x org-agenda 打开日程buffer,可看到当前排的所有日程,并可以直接进行优先级等操作。那如何归纳整理自己的日程表呢,通常我使用多个文件来代表不同的类型。
日程文件
可以针对不同的任务类型,定义多个日程或任务文件,然后将文件加入全局的日程文件列表,统一纳入org的管理。
以下来举例:
使用C-h v 查看变量org-agenda-flies,当前有一个文件,现在我们再加入另一个
打开org文件,使用org-agenda-file-to-front或者快捷键C-c [ 将当前文件加入到全局列表。这样一来,我们定义的日程就会加入到全局列表,使用emacs统一进行管理了。也可以通过emacs配置文件加入。
然后就可以使用M-x org-agenda a 打开agenda界面了。
快捷键 | 功能 |
---|---|
C-c [ | 将当前文件加入全局列表 |
C-c ] | 将当前文件移除全局列表 |
C-c C-x < | 锁定当前文件即在org agenda的buffer中只显示当前文件的日程(org-agenda-set-restriction-lock) |
C-c C-x > | 解锁(org-agenda-remove-restriction-lock) |
可以打开speedbar ,在文件上使用< 和> 来锁定和解锁。
日程操作
前一章已经介绍过,使用org-agenda打开日程buffer,此时可以选择多种视图方式,以便更加方便的查看日程。
Emacs 内置了多种视图,下面会一一介绍,首先来看都有哪些操作。
视图中的操作
其他快捷键及功能:
快捷键 | 功能 |
---|---|
b | daily视图 |
w | weekly视图 |
n/p | 上/下移动光标 |
N/P | 上/下按日程移动光标 |
SPC | 在另一缓冲区显示任务在org文件中的定义的位置 |
TAB | 在另一缓冲区显示任务在org文件中的定义的位置,并且光标跳转至此 |
L | 显示任务在文件中位置并且光标居中 |
RET | 在当前buffer打开文件并跳转 |
F | 打开跟踪模式,即移动光标时,另一buffer显示当前任务的定义处 |
C-c C-x b | 显示任务及子树,并可以设置层数 |
C-c C-o | 打开链接 |
o | 关闭另一个buffer |
A | 打开另一种视图并嵌入到当前视图中 |
v | 弹出多个命令进行选择 |
f/b | 下一天 |
. | 跳转至当天 |
j | 选择日期并跳转 |
D | 包含日记 |
r | 刷新agenda buffer |
/ | 通过tag过滤 |
< | 通过类型过滤 |
^ | 通过 top headline 过滤 |
= | 通过模式匹配过滤 |
| | 去除所有过滤 |
t | 改变状态 |
C-S-Left/C-S-Right | 改变状态 |
C-k | 删除 |
C-w | 重新归档某项日程 |
$ | 归档,通常是另一个文件 |
T | 显示所有tag |
: | 设置tag |
, | 设置优先级 |
+/- 或者 S-up/down | 设置优先级 |
z | 添加note |
C-c C-a | 附件 |
C-c C-s | 安排日程 |
C-c C-d | 设置deadline |
S-Left/Right | 改变日期 |
> | 改变日期 |
I | 插入clock |
O | 停止上一个clock |
X | 取消当前clock |
J | 跳转之clock处 |
M-Up/Down | 拖拽一个日程 |
m | mark当前日程 |
* | mark所有日程为重点 |
u | 取消mark当前日程 |
U | 取消mark所有日程 |
M-m | 设置/取消当前mark |
M-× | 设置/取消所有mark |
B | bulk action |
C-x C-w | 导出。可以为.html .pdf .ps .org |
q | 退出 |
x | 退出,包括所有相关打开的buffer |
太多了,大家通过帮助自己尝试吧。
Weekly/daily 视图
输入M-x org-agenda 时, 选择a 进入此视图。
在此视图中,操作在上一节介绍过。大家实践一下,通常使用的也就几个功能,碰到需要用的其他,再来查询具体快捷键。
ToDo 视图
输入M-x org-agenda 时, 选择t/T 进入此视图。
t, 列出所有的todo
T,可以选择特殊的key来进行过滤。
Tag和属性过滤视图
输入M-x org-agenda 时, 选择m/M 进入此视图。
m, 根据tag进行过滤
语法:
‘work’: 选择tag ‘:work:’.
‘work&boss’: 选择tag ‘:work:’ 和 ‘:boss:’.
‘+work-boss’: 选择tag ‘:work:’, 忽略 tag ‘:boss:’.
‘work|laptop’: 选择tag ‘:work:’ 或 ‘:laptop:’.
‘work|laptop+night’:选择有laptop 并且有night的tag
除了tag,还可以使用正则表达式,例如: ‘work+{^boss.*}’ ,选择带有work的tag并且以boss开头
更多的语法及表达式就不介绍了,有需要时,查文档获取。
search 试图
输入M-x org-agnda 时, 选择s 进入此视图。
根据关键字查找或者正则。
stuck project试图
输入M-x org-agnda 时, 选择# 进入此视图。
参考了David Allen的GTD方法,一个stuck的project是没有定义下一步action的日程,不会在todo显示
分类
每个org todo文件都有一个分类,默认就是文件名。
可以在文件开头加入:
#+CATEGORY: xxx
可以在某项日程中加入属性:
:CATEGORY: xxx
之后在检索过滤时,可以根据分类来进行u过滤
Column 视图
列模式在上篇文章已经介绍过。
使用C-c C-x C-c 进入列模式。
此处不介绍了。
格式
导出时,Html等格式可以定义更多的格式,所以Emacs 可以定义更多的格式。
例如:
*bold*, /italic/, underlined, =verbatim= and code,
我只用到导出纯文本,故此项未深入了解。
最后
终于将org从头开始过了一遍,在行进的路上任重而道远,坚持使用,道法自然。