Markor 中文文档 下载 App

todo.txt 高级搜索——按 @上下文、+项目、优先级一键过滤

为什么高级搜索重要

todo.txt 文件可以慢慢积累几百个任务。手动 grep 能过滤,但:

v2.11 新增的高级搜索直接内建到 Markor 的 todo.txt 对话框里,让过滤 + 高亮 + 批量操作三合一。

打开高级搜索

  1. 打开一个 todo.txt 文件
  2. 点底部操作栏的 搜索图标(🔍)
  3. 弹出搜索对话框
  4. 点搜索框旁边的 「高级搜索」 或 ⚙️ 齿轮图标(v2.11 版本)

支持的过滤维度

过滤条件语法说明
优先级priority:A / priority:B / priority:high / priority:all按括号里的字母过滤
上下文context:home / @home按 @ 标记过滤
项目project:work / +work按 + 标记过滤
状态state:open / state:done / state:all只看未完成 / 已完成 / 全部
关键词直接输入任意文本在任务描述里模糊搜索
到期日期due:2026-10-15 / due:tomorrow部分版本支持

组合搜索

多个条件可以 组合 使用,比如:

state:open priority:A @work +app-redesign

意思是:过滤出当前未完成、优先级 A、属于工作场景、属于 app-redesign 项目的所有任务。

搜索结果会在编辑器里高亮显示,非匹配的任务会被淡化或隐藏(取决于你选的视图模式)。

搜索结果的批量操作

搜索结果显示后,你可以:

这个能力在每周回顾时特别好用——一键找出所有 priority:A 但已完成日期超过 7 天的任务,批量归档到 done.txt。

和 grep 的对比

维度Markor 高级搜索grep 命令行
操作点几下对话框输命令
语法高亮✅ 过滤结果在编辑器里保留高亮❌ 纯文本输出
批量操作✅ 直接在 Markor 里改❌ 需要配合 sed/awk
跨平台一致性❌ 只有 Markor 有✅ 任何终端都能用
速度文件多时略有延迟极快

最佳策略:Markor 手机上用高级搜索,桌面端用 grep/sed 脚本定期做批量归档和统计。两者配合,文件内容不受任何一方影响。

高级搜索的限制

进阶:桌面端同步脚本

当 Markor 的 todo.txt 同步到桌面后,你可以写一些简单的 shell 脚本配合 grep:

# 找出所有 A 优先级任务
grep "^(A) " todo.txt

# 统计 @home 上下文的任务数量
grep "@home" todo.txt | wc -l

# 找出所有已完成但超过 30 天的任务
grep "^x " todo.txt | awk '$2 < "'$(date -d '30 days ago' +%Y-%m-%d)'"'

# 把已完成任务归档
grep "^x " todo.txt >> done.txt && sed -i '/^x /d' todo.txt

这些脚本在 macOS / Linux 上直接用,Windows 上用 Git Bash / WSL / PowerShell 的 Select-String 也能实现。