标记任务完成——行首自动加 x 和日期,v2.11 支持批量多选
todo.txt 完成标记的规范
todo.txt 格式里,已完成的任务在行首加 x 和完成日期:
(A) 周五前完成周报 @office +work ← 未完成
x 2026-10-14 (A) 周五前完成周报 @office +work ← 已完成
几个关键点:
x后面必须有一个空格- 日期格式是
YYYY-MM-DD - 原来的优先级、任务内容、上下文、项目 全部保留在
x 日期之后 - Markor 会自动把已完成任务 排到文件底部
方式一:手动改
像编辑普通文本一样:
- 光标移到目标行行首
- 输入
x 2026-10-14(今天的日期) - 保存
适合一次性标记单个任务,或者你想事后手动改日期。
方式二:Markor 对话框(推荐)
在 todo.txt 文件里:
- 点击某一行(v2.11+)或长按某一行
- 弹出任务信息对话框
- 勾选 Done / Completed 复选框
- 点 OK / 确认
Markor 自动做三件事:
- 在该行行首插入
x YYYY-MM-DD(日期取今天) - 把任务从当前位置 移到文件底部
- 对话框关闭,继续下一个
方式三:批量多选标记(v2.11 新增)
v2.11 新增了 todo.txt 的 批量多选对话框:
- 在高级搜索或常规文件浏览里进入多选模式
- 勾选多个要标记完成的任务行
- 弹出批量操作对话框
- 勾选「全部标记完成」
- 点确认
Markor 对每个选中的任务 单独插入今天的日期。适合每周回顾时批量处理已完成的工作。
恢复未完成
标记错了怎么办?同样简单:
- 找到已完成的任务(在文件底部、行首是
x 日期 ...) - 把行首的
x YYYY-MM-DD删掉 - 保存
任务恢复未完成状态,Markor 会自动把它从底部放回正确的优先级位置。
归档 vs 标记完成
| 操作 | 含义 | 文件变化 |
|---|---|---|
| 标记完成 | 这件事做完了 | 行首加 x 日期,沉到底部 |
| 归档 | 把已完成任务移走,保持主文件清爽 | 手动或脚本把 ^x 开头的行移到 done.txt |
推荐的归档节奏:每周一次。在桌面端用 grep/sed 脚本:
# 把所有已完成任务追加到归档文件
grep "^x " todo.txt >> done.txt
# 从主文件里删除已完成行
sed -i '/^x /d' todo.txt
归档文件 done.txt 可以无限增长——它是历史记录,不影响主文件的清晰度。需要回顾某个任务是什么时候完成的,grep 一下归档文件就行。
已完成任务的搜索
v2.11 的高级搜索可以:
state:done— 只看已完成的state:all— 全部都显示(包括已完成)priority:A state:done— 找出所有 曾经是 A 优先级、现在已完成 的任务(每周回顾时特别有用)
同步注意
当你用 Syncthing 同步 todo.txt 到桌面后:
- 桌面端 sed/grep 批量归档 ✅ 直接生效
- 手机端继续打开 Markor ✅ 不会有冲突(纯文本文件,同步客户端按行合并)
- 如果 两边同时改了同一个文件(比如手机上刚标记完、桌面端 grep 还没跑),Syncthing 会生成冲突副本。此时 以最新的修改为准、删掉冲突副本即可。