plaintasks 需手动配置语法识别和快捷键:设为 plaintasks 语法、启用 auto_set_syntax、确保任务行格式正确(- [ ])、光标对齐开头、关闭只读模式、检查快捷键冲突;归档需存在规范的 ## archive 区块;时间戳乱码应改用纯英文 date_format。

PlainTasks 不是开箱即用的待办工具,它依赖你主动配置文件结构和语法识别——没手动设置 PlainTasks.sublime-settings 和关联 .txt 或 .task 文件类型,列表符号(- [ ])根本不会被识别为任务项。
怎么让 Sublime Text 认出你的待办任务?
PlainTasks 的核心是语法高亮 + 命令绑定,不是插件自动扫描文档。它只在你明确告诉 Sublime “这个文件属于 PlainTasks” 时才生效:
- 新建文件后,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Set Syntax: PlainTasks并回车 - 或者把文件后缀改成
.task,Sublime 通常会自动匹配语法(前提是插件已正确安装) - 如果仍不生效,检查是否在
Preferences → Package Settings → PlainTasks → Settings中启用了"auto_set_syntax": true
为什么勾选/取消任务没反应?
PlainTasks 的任务状态切换([ ] ↔ [x])默认绑定在 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS)。常见失效原因:
- 光标没落在任务行上(必须对齐在
- [ ]开头处,不能在空格或文字中间) - 当前视图被设为只读(右下角显示
RO),需先取消只读:菜单栏File → Reload File with Encoding → UTF-8或检查文件权限 - 快捷键被其他插件劫持(比如 GitGutter、SideBarEnhancements),可在
Preferences → Key Bindings – User中确认是否有冲突规则
如何批量标记完成或归档已完成任务?
PlainTasks 提供了两个关键命令,但它们不通过菜单访问,只能靠命令面板触发:
-
PlainTasks: Done:将当前行或选中多行标记为[x],并自动添加时间戳(格式由date_format控制,默认%Y-%m-%d %H:%M) -
PlainTasks: Archive:把所有带[x]的任务剪切到文件底部的## Archive区块(注意:该区块必须存在且独占一行,大小写敏感,前面两个#后有空格) - 归档前务必确保
## Archive是独立标题行,否则Archive命令会静默失败,不报错也不移动内容
中文路径或文件名导致时间戳乱码怎么办?
PlainTasks 内部使用 Python 的 strftime 处理时间,而 Windows 默认控制台编码常为 GBK,与 Sublime 的 UTF-8 环境冲突,表现为时间戳显示为 ?????? 或直接报错 UnicodeEncodeError:
- 打开
Preferences → Package Settings → PlainTasks → Settings - 添加配置:
"date_format": "%Y-%m-%d %H:%M"(避免任何中文字符或 Unicode 符号) - 如需显示中文“完成”,建议改用英文标签(如
@done)配合外部脚本处理,而非依赖 PlainTasks 自带的时间戳渲染
PlainTasks 的灵活性恰恰藏在它的简陋里:它不做自动同步、不连云端、不校验语法结构。一旦你漏掉一个空格(比如写成 -[ ] 而非 - [ ]),或忘了加 ## Archive 分隔符,功能就断在最基础的一环——它只响应你写得“刚好对”的那一部分。











