使用 mdt 管理项目任务
原文由 Francesco Puppo 于 发布,订阅该博客
我会同时负责多个项目,并不是所有任务都会放进我的默认任务管理工具 Things 里。举个例子,对于所有编程项目,我都喜欢在项目里用一个简单的 Markdown 文件 TODO.md 来记录待办清单。
这么做有几个原因,比如:
- 有些任务没那么重要,只是“也许以后再做”的提醒
- 如果这些任务已经以文本形式放在项目文件夹里,再让 Claude 来帮忙处理就会方便得多
我在网上找到的大多数命令行工具对我来说都太重了1,不过找了一圈后,我发现了一个几乎完全符合我需求的工具:mdt。
mdt 的灵感来自 t,但它“没那么极客”,因为它提供了交互式 TUI(终端用户界面),并使用带复选框的简单 Markdown 文件。

它完全符合我的要求:
- 每个项目都有自己的任务列表,保存在
TODO.md文件中 - 非常聚焦,处理某个项目时,我只会看到那个项目的任务
- 它强调的是添加和完成任务,而不是管理任务2
- 界面美观,用起来也很顺手
- 可以用任意文本编辑器批量编辑和管理任务
不过,mdt 也有一些不足,而且已经好几年没有更新了。因此,我在 GitHub 上 fork 了这个仓库,开始按自己的工作流对它进行一些改造并修复了一些 bug。比如:
mdt "Buy milk"— 直接从命令行添加任务mdt -l— 带编号和摘要列出任务(会扫描子文件夹)mdt -l keyword— 筛选包含“keyword”的任务mdt -c 2— 切换任务 2 的完成/未完成状态mdt -d 3— 删除任务 3mdt -e— 在默认编辑器中打开(或用mdt -e 2跳转到任务 2)mdt --clear— 清除所有已完成任务- 按 ESC 返回上一级,而不是直接退出
- 支持没有标题的
TODO.md文件 - 在 macOS 上,当未设置
$EDITOR时,会用默认的 Markdown 应用打开
欢迎关注这个项目并参与贡献,不过要说明的是,我不打算再添加太多功能,因为我想坚持这个核心理念:
很容易就会说“我就稍微整理一下待办清单”,然后花 15 分钟给任务打标签。而在这 15 分钟里,你说不定已经能完成其中几项了。
t 的灵感来自 j。它简单、粗糙,几乎没有任何功能,但在它唯一要做的事情上却极其高效。用 t 时,让待办清单变好看的唯一方法就是把那些该死的任务做完。3
脚注
参见 todo.txt 和 TaskWarrior。↩
即便如此,如果你想更有条理,mdt 也支持多个列表和标题。↩
sjl/t: A command-line todo list manager for people that want to finish tasks, not organize them ↩
随机一篇博客
评论
登录后参与讨论