本文是 本系列 的第二篇, 分享在Emacs中践行 GTD 的工作流
TL;DR
- 所有被维护的
GTD
相关的条目,都放在名为gtd.org
的单个文件中。 - 每天会对外部收集箱和内部收集箱进行整理,移动。清空收集箱
- 任务主要分为几个状态, TODO(初始未整理的状态),NEXT(下一步可以做的),SOMEDAY(因为某种原因暂时不做,将来会做的), CANCELED(已放弃),DONE(处理完成)
- 每周会对所有的非终态的任务重新规划状态。查看所有SOMEDAY的任务,是否有可以下一步处理的。
- 定期归档已完成的任务
- 详细的配置可以看这里(我的Emacs配置仓库)
文件的组织
在上一篇中,把收集分为两种,一种是内部收集,一种是外部收集。
外部收集的任务中,有部分是依赖于同步的,为了避免同步出错拖累了其它,所以每个需要同步的外部收集箱,都是一个独立的文件。例如: inbox/caldav_personal.org
inbix/caldav_family.org
sync/orgzly.org
等文件
所有GTD事项都维护在 gtd/gtd.org
文件中,而在这个文件有一个内部收集箱, Inbox For GTD
, 它有两个作用:
- 外部收集箱中的事项,如果是一个GTD的任务,会被先 Refile 到这个内部收集箱里面
- Emacs 内的任务捕获,以及 Rofi 中的任务捕获,因为已经能确定是任务,所以会直接捕获进内部收集箱
一旦进了内部收集箱,后续的所有管理操作都是围绕这一个单独的文件进行操作。
文件内的结构大致如下:
* Inbox For GTD
* Personal Task
* Personal Event
* Personal Project
* Family Event
* Family Task
* Work Task
* Work Project
之前我是会按照场景把事项分到不同的文件中,例如我会分为 personal.org work.org family.org inbox.org 等文件。但是我发现这样并没有带来很大的好处,反而不能充分利用 Org 自带的稀疏树视图。
日常流程
移动端收集有时候想到一些事情,需要在指定的时间处理,我会在手机的系统日历中增加一个事件,然后把它分配给 caldav 中的personal或者family。而想起来对某件事情感兴趣,或许需要处理某件事情,但是没有时间限制,我会在
Jtx Board
上快速创建一个任务。然后等待DavX
定期/手动同步到Caldav
中。或者有些笔记或想法想写,时间充裕或者文本较长的话,我会打开
Orgzly
去写,等待这 定期被 Syncthing 同步到 PC。或者也会在Jtx Board
创建一个任务, 同步到Caldav
PC 端收集如果在 Emacs 中工作的时候, 产生一个个要处理某件事的想法,或者某个代码需要后续处理,又或者接到别人的一个临时任务。会在 Emacs 中使用捕获任务模板,放入内部收集箱,如果是产出的想法,会通过笔记进行记录(可能是下一篇博客的主题了)如果在Emacs外部工作,当出现需要快速记录任务的情况,会使用 Rofi 快速捕获任务到 内部收集箱,如果是有想法,会切换回 Emacs,使用日记记录
每日整理首先是通过
org-caldav
同步Caldav
中的任务和日历到本机的外部收集箱。当然了,也会对已有任务的状态变更进行双向同步。先整理外部收集箱,(此处有定制的 agenda 视图)把属于 GTD 事项的 Refile 到内部收集箱,属于日记,笔记的,放入Org-Roam
流程。整理内部收集箱,对任务归类、调整状态、打标签、规划日期、补充说明等,然后 Refile 到对应的 Headline 中
常用的属性
TODO关键词
TODO
初始的关键词,通常代表着未整理的NEXT
下一步行动,没有前置依赖,可以直接开始执行的任务SOMEDAY
未来会做的事情,可能有前置依赖,可能优先级不高,也可能仅仅是时机未到ABORT
已经进入 GTD 但是被放弃的任务WAITING
等待某人的反馈
标签
- personal 私人相关的任务和事件,用于 caldav 的筛选
- work 工作的相关任务和事件
- family 家庭中需要共享的任务和事件
- project 用于标识项目
时间戳
SCHEDULED
给任务进行排期,通常用于本周内的任务排期。 或者习惯的周期设置。或者事件的事件设置。DEADLINE
截止日期,通常用于有截止日期的任务。- 活跃时间戳 用户常规事件的日期设置
分类方法
我对相关事项有以下分类:大的分类为项目、习惯、任务、事件
项目不能够一次性完成的,需要拆解为多个任务分多次才能完成的,称之为项目。 又可细分为有完成条件的项目和无完成条件的项目。例如
女儿的疫苗接种
和游山玩水计划
都属于无完成条件的项目,因为它们的任务列表会持续的增加。而像三月份厦门之旅
则是有完成条件的项目,通常会分解为多个任务和事件。任务常规的待办事项,通常是可以直接开始的行动(下一步行动)。分为一次性任务和周期性任务。可以有计划开始时间,也可以有截止时间,通常可以提前
完成
。例如安装mermaid-mode使博客支持流程图
则为一次性的任务,且没有任何时间安排。居住卡续签
为周期性任务,并且同时拥有截至时间和计划开始时间。截至时间为居住卡到期日期,开始时间为居住卡到期日期前一个月(因为只要剩余不足1个月才可以办理续签)。习惯是一种特殊周期性任务,关键在于不需要过期后持续关注。只有计划开始日期,不会有截至日期。例如
每日清空RSS订阅列表
和每周重新整理GTD任务
都是属于习惯。即使某一周没有整理GTD任务,也无所谓。只要下一周整理了就可以。事件和任务不一样的是,事件绝对和时间挂钩,时间是事件存在的前提。可以是一次性的,也可以是周期性的。通常是不需要
完成
,或者不能提前完成
。例如高考出分
为一次性事件,且不需要完成
, 而每月1号部门例会
则为周期性事件,不能提前完成
。
设置方式为:
- 项目给项目加上
project
标签, 之后配置一个自定义议程视图("wp" "每周项目回顾" tags "+project" ((org-use-tag-inheritance nil)))
- 任务增加 TODO关键词,如果有截止日期增加
DEADLINE
,一般设置为SOMEDAY
或NEXT
。 然后每天检查NEXT
列表,安排最近几天的任务,加上SCHEDULED
- 事件不要加 TODO关键词, 一般使用激活时间戳,如果需要过期提醒的话,改用
SCHEDULED
- 习惯不要加 TODO关键词,使用
SCHEDULE
, 例如SCHEDULED: <2024-03-20 三 .+1d/3d>
同时增加属性
:PROPERTIES:
:STYLE: habit
:END:
后续
下一篇大概率回事笔记\日记 或者博客相关的