TODO 块:用方括号标记任务状态
四种状态
Logseq 的任务块有四种状态:
- [ ] 未开始(TODO)
- [x] 已完成(DONE)
- [/ ] 已取消(CANCELLED)
- [>] 延后(DELAYED)
在任何块的开头加上 - [ ] (注意方括号和内容之间有一个空格),那个块就变成了任务块。点击方括号或用快捷键可以切换状态。
快捷键
Cmd/Ctrl+Enter— 在 TODO 和 DONE 之间切换- 多次按
Cmd/Ctrl+Enter可以循环切换四种状态(TODO → DONE → CANCELLED → DELAYED → TODO)
也可以直接右键块 → Task State → 选目标状态。
任务块的自动收集
所有任务块会被 Logseq 自动收录,你可以通过以下方式查看:
- 右侧面板 — 某些模板页面的「Tasks」区块会列出相关任务
- 查询 — 用
(task TODO)筛选所有未完成任务 - 日记页汇总 — 每天的日记页默认汇总当天创建/完成的任务
任务与日期
任务块可以加上时间相关的属性:
- [ ] 提交论文 deadline:: 2026-12-01
- [ ] 和张三讨论 [[需求]] schedule:: 星期一 14:00
- [ ] 读完这本书 scheduled:: 明天
Logseq 会自动解析相对日期(明天、下周一、三天后等)并转换为实际日期值。
任务与优先级
可以用属性标记优先级:
- [ ] 搞定这个问题 priority:: high
- [ ] 回复邮件 priority:: medium
- [ ] 整理桌面 priority:: low
配合查询可以按优先级筛选:
{{query (and (task TODO) (property priority high))}}
子块作为子任务
Logseq 自动把缩进的子块视为父任务的子任务:
- [ ] 写论文
- [ ] 完成文献综述
- [ ] 跑实验
- [ ] 写结论
父任务的状态会根据所有子任务自动更新——当所有子任务都是 DONE 时,父任务自动变成 DONE;任何一个子任务不是 DONE,父任务显示为进度条或 TODO。
要禁用这个自动行为(让父任务独立于子任务),在设置里关闭「Parent task follows child tasks」。
实战建议
- 不要在日记页堆所有任务 — 把任务分散到各自的主题页面里,用查询做汇总(日记页放每日重点即可)
- 任务块要可执行 — 好的任务是「下午 3 点前写完 API 文档」,不是「写文档」
- 定期清理 CANCELLED 任务 — 已经取消的任务如果不需要保留记录,可以删掉