todo.txt 的 @上下文 +项目 A优先级——三种元数据的语义与用法
三种元数据的定位
todo.txt 格式的设计哲学是 极简——没有复杂的嵌套结构、没有 XML / JSON,就是每一行前面用几个特殊前缀标记语义。三种元数据覆盖了不同维度:
| 元数据 | 前缀 | 位置 | 数量 | 作用 |
|---|---|---|---|---|
| 优先级 | (A) 大写字母加括号 | 行首最前面 | 每行 0-1 个 | 标记紧急程度,决定排序 |
| 上下文 | @ 加词 | 任务文本里 | 每行可多个 | 标记在哪种场景下能做 |
| 项目 | + 加词 | 任务文本里 | 每行可多个 | 标记属于什么项目 |
三者 互不依赖、互不排斥。一个任务可以同时有 (A) @office +app-redesign,也可以什么都不加(纯描述)。
优先级 (A)(B)(C) 的用法
位置规则
优先级必须在 行首、所有其他元素之前(包括已完成标记 x 日期):
❌ 错误:@office (A) 完成周报
❌ 错误:完成周报 (A) @office
✅ 正确:(A) 完成周报 @office
✅ 正确:x 2026-10-14 (A) 完成周报 @office
优先级排序
Markor 打开 todo.txt 时会自动:
- 按优先级字母 A → B → C → D → ... 排序
- 同优先级的按 原始顺序 排列(你写的先后)
- 没有优先级的排在所有优先级任务之后
- 已完成的任务全部沉到底部
选择优先级的建议
| 优先级 | 选它的场景 |
|---|---|
| A | 今天或明天必须做,不做就出问题 |
| B | 本周内完成,有明确时间窗口 |
| C | 两周内完成,方便时做 |
| D 或更低 | 有时间就做,没有也行 |
| 不标 | 长期任务 / Someday |
常见错误:把所有任务都标成 (A)——这样优先级系统就失效了。经验法则:任何时候 A 级别任务不超过 3-5 个。
上下文 @ 的用法
位置规则
上下文 @词 可以在任务文本里的 任何位置,一个任务可以有多个:
(A) 周五前完成周报 @office ← 一个上下文
(B) 给老板发邮件 @phone @computer ← 两个上下文
(C) 买生日礼物 @shop ← 一个上下文
常见上下文词
| 上下文 | 含义 | 适用任务 |
|---|---|---|
| @home | 在家时做 | 洗衣、做饭、遛狗、整理房间 |
| @work | 在工作场所做 | 开会、写文档、回复邮件 |
| @office | 同 @work,但强调物理办公场所 | 打印、盖章、签字 |
| @phone | 用手机就能做 | 打电话、发短信、App 里操作 |
| @computer | 用电脑才能做 | 写代码、改表格、看视频 |
| @shop | 在商店时做 | 购物清单、取快递 |
| @errand | 外出办事时顺便做 | 银行、邮局、车管所 |
| @travel | 旅行途中 | 订机票、查地图、写游记 |
v2.11 高级搜索的上下文过滤
高级搜索里输入 @phone,就能找出所有需要用手机做的任务。出门前搜一下 @phone,就知道今天在外面时手机上还有哪些事能顺手做——这是纯文本 GTD 工作流里最实用的场景之一。
项目 + 的用法
位置规则
和上下文一样,+词 可以在任务文本里任何位置,一个任务可以属于多个项目:
(A) 设计新版应用图标 +app-redesign
(B) 写 API 文档 +app-redesign +marketing
(C) 订机票 +holiday-planning
项目 vs 上下文的区别
| 维度 | 上下文 @ | 项目 + |
|---|---|---|
| 回答的问题 | 在哪做 | 为什么做 / 属于哪个项目 |
| 变化频率 | 相对固定(@home、@work 基本不变) | 随项目生命周期变化(项目结束后不再有新任务) |
| 搜索场景 | 「我在 @shop 时还有什么要做的?」 | 「+app-redesign 这个项目还有哪些未完成任务?」 |
项目命名建议
项目名建议用 小写字母 + 连字符:
+app-redesign ✅ 清晰
+holiday-planning ✅ 清晰
+work ⚠️ 太泛,和 @work 混淆
+AppRedesign ❌ 不统一
+app redesign ❌ 有空格,同步客户端处理可能出问题
三者组合的完整示例
(A) 10月15日前完成 API 文档 @computer +app-redesign
(B) 给设计团队发邮件确认图标稿 @phone +app-redesign
(C) 订机票和酒店 +holiday-planning
(C) 收拾行李 +holiday-planning
x 2026-10-13 (B) 和老板同步 Q4 目标 @office +work
打开文件时,Markor 自动:
- 第一行 (A) 排最前
- 第二行 (B) 接着
- 第三第四行 (C) 在后面
- 已完成的那行沉到底部
- 每行的优先级、上下文、项目各自颜色高亮
v2.11 高级搜索 可以做到:
- 搜
@computer +app-redesign→ 只有第一行匹配 - 搜
priority:A state:open→ 只有第一行 - 搜
+holiday-planning→ 第三、第四行 - 搜
state:done→ 只有最后一行