任务
更新日期:2026-07-26
任务视图会把仓库中的每一个复选框汇集到一处:所有笔记中的- [ ]和- [x]列表项,会按照它们所在的笔记分组显示。这是一个基于纯Markdown、回答”我还有哪些事要做?“的视图——不需要插件,也不需要特殊文件。
为什么使用独立视图(而不是.base)
数据库(.base)以整篇笔记为单位工作——每篇笔记对应一行。复选框只是笔记内部的一行文本,而一篇笔记可以包含许多个复选框,因此.base无法列出它们。任务视图是基于行的:它会直接读取任务所在的文本行,因此一篇包含十个子任务的项目笔记会显示全部十条。
打开任务视图
- 点击最左侧操作栏中的清单图标,或
- 打开命令面板(
Ctrl/Cmd+P)并运行打开任务。
它会像任何笔记一样,以标签页形式打开。
查看列表
任务会按笔记分组;每组的标题就是笔记标题,点击即可打开该笔记。每个任务都会显示其复选框和文字内容,完成后会加上删除线。任务行中以📅 2026-08-01形式写出的截止日期会显示为一个小徽章。
筛选
顶部的这一栏可以缩小列表范围:
- 未完成 / 已完成 / 全部——按复选框状态筛选(默认显示未完成)。
- 筛选任务…——自由文本,匹配任务文字。
- 所有文件夹——只显示所选文件夹(及其子文件夹)中的任务。
- 所有标签——只显示带有所选内联
#tag的任务。 - 有截止日期——只显示带有
📅日期的任务。
标签和截止日期会直接从任务所在的这一行文字中读取——例如- [ ] 支付发票 #finance 📅 2026-08-01。
勾选任务
点击任务的复选框,即可在未完成和已完成之间切换。这个变化会直接写回笔记文件(一次普通、安全的文件写入——只有[ ]/[x]这一个字符会发生变化),因此笔记本身、Obsidian以及任何同步都会保持一致。点击任务的文字部分则会打开该笔记,并跳转到对应的那一行。
如果笔记在列表生成之后发生了变化,一次过期的切换操作会被跳过,并且列表会自动刷新——你也可以随时点击右上角的刷新按钮来重新加载。
默认任务数据库
复选框适合随手记一笔,但有时一行文字会逐渐成长为一项”正式”的任务——需要状态、截止日期,以及属于自己的一篇笔记。为此,可以在设置 → 仓库 → 内容与结构中选择一个默认任务数据库:一个数据库(.base),让这类任务以独立笔记的形式存在。新建数据库…会为你搭建一个现成的数据库(一个存放文件夹,加上一个带已完成复选框列(done)、状态列、截止日期列、表格视图和看板视图的.base);你也可以直接选用一个已有的数据库。复选框属性是任务的完成状态真值(开/关,与各服务商一致);勾选后,状态列会保持一致。没有复选框列的数据库会回退到状态约定:第一个选项=未完成,最后一个选项=已完成。
设置完成后,任务视图会显示两个部分:上方是任务数据库中的条目,下方是来自笔记——也就是熟悉的复选框列表。状态可以直接在概览中修改:复选框即笔记的已完成复选框属性,点击即可切换它(状态列会随之更新),点击状态芯片则会打开一个包含所有选项的菜单(更改状态)。未完成/已完成/全部筛选适用于这两个部分,作为数据库打开可跳转到完整的数据库视图,包含看板和筛选条件。当已连接账户时,刷新还会额外触发一次真正的服务商同步。
把复选框变成数据库任务
每个任务都带有一个数据库图标:移动到任务数据库。点击一次会:
- 在数据库的存放文件夹中新建一篇笔记(如果设置了默认模板,会使用该模板)。
- 把
📅日期填入截止日期列,为未完成任务设置第一个状态选项,并把该行的#tags保存为笔记的标签。 - 通过
source属性把新笔记关联回其源笔记。 - 用一个指向新任务笔记的内部链接,替换源笔记中的复选框那一行——该条目在原处依然可读,而任务本身现在保存在数据库中。
右键点击该图标可以改选其他数据库作为目标;如果尚未设置默认任务数据库,点击时会直接打开这个选择器。一切都保持为纯Markdown:新任务是一篇带有Frontmatter的普通笔记,源笔记中的链接则是一个普通的[[内部链接]]。
分区标题中的**+ 新建任务**会直接在任务数据库中创建条目(存放文件夹、模板和预填与移动复选框时完全相同)并打开它。写在笔记里的复选框仍留在那篇笔记中——只有当你移动它们时,才会变成数据库任务。
为任务预留时间
Plainva 中的任务精确到天:任务有截止日期,没有具体时刻。想为某个任务留出一段时间时,Plainva 会创建一个日程——日程才是拥有时间区间的对象,会在时间网格中显示重叠情况,并与你的日历账户同步。
任务行上的日历图标会打开预留时间:日期(默认填入截止日期)、开始时间和时长(15 分钟、30 分钟、1 小时、2 小时或自定义);当有多个可写日历时,还会显示日历选择。日程使用任务的标题,并链接回该笔记。
对于数据库中的任务,笔记还会把这次预留记录在前置数据中(plainva.blocks),因此两端都能看到这层关联。复选框行没有自己的笔记——那里只会创建日程,并指向该行所在的笔记。只有连接了日历账户时才会出现这个图标。
重复任务
定期重复出现的任务,可以通过任务数据库部分中的重复图标来设置重复。Plainva 不会创建一个系列:勾选完成该任务后,会在已完成的任务旁新建下一个任务(作为独立的笔记),并带上新的截止日期。这样一来,任何时候都只有一个任务处于未完成状态,已完成的任务则作为完成记录保留下来,也没有一个隐形的系列会被你不小心整个删除——删除某个任务,这条链就此终止。
该对话框提供三项设置:
- 周期——每天、每周、每月或每年,加上每后面填写的间隔数(例如”每 3” + “每天” = 每三天一次)。
- 起算于:截止日期——固定节奏(例如”每周一”)。哪怕你很晚才勾选一个已逾期的任务,Plainva 也会跳到未来最近的一次截止日期,而不会把你错过的那些全部塞进列表。
- 起算于:完成日期——周期从你勾选完成的那天开始计算(例如”每次浇花后三天”)。
不重复会再次移除这项设置。按月重复的任务永远不会越过月末:1月31日加一个月是2月28日或29日,而不是3月3日。
这条规则保存在笔记的Frontmatter中(plainva.repeat),因此会随你的同步一起传输——既不是应用里隐藏的一项设置,也不是数据库的一列,因为它只属于这一个任务,而不属于数据库中的每一条记录。从你的服务商任务列表镜像过来的任务不提供这项重复功能:它们已经在服务商那边重复,如果再叠加一层本地周期,就会把重复出现的任务又推送回服务商那里。
从任务视图中隐藏笔记
有些笔记里的复选框从来都不是”真正的”任务——尤其是模板。为了让它们不出现在列表中,一篇笔记可以把自己排除在外。真相始终保存在文件里:这项排除设置是笔记中的一个Frontmatter字段,而不是应用里隐藏的一项设置。它会参与同步,在Obsidian中可见,也可以用任何文本编辑器查看:
---
plainva:
tasks: false
---
你不必手动写入这个字段:
- 从任务中隐藏——每篇笔记的标题行右侧都有一个眼睛图标;点击一次即可把标记写入该笔记,并将其隐藏。
- 显示已隐藏——筛选栏中的这个选项会把隐藏的笔记重新带回列表(呈暗淡显示),每一条都带有一个重新在任务中显示的图标(会移除该标记)。
- 隐藏模板——如果你的模板文件夹中含有带复选框的笔记,右上角会出现一个隐藏模板按钮,一次性为它们全部打上标记。
新建的模板会自动带有该标记。当你基于某个模板创建笔记时,该标记会被再次移除——新笔记是真实内容,其中的任务会正常显示。
Obsidian兼容性
任务本身是普通的GFM(GitHub-Flavored Markdown)复选框。Plainva从不添加特殊语法:同样的- [ ]这一行,在Obsidian中会渲染为复选框,在任何编辑器中都能干净地读取。📅 date和#tag这样的约定是Obsidian Tasks插件常用的写法,但在你的笔记里,它们不过是普通文本。
另请参阅
- 笔记与Markdown——在编辑器中编写任务列表
- 搜索——跨仓库全文搜索
- 数据库(.base)——笔记级别的数据库
在总览中完成任务
在总览中勾选任务时,Plainva 会把复选框写回源笔记,并在重新查询列表之前更新该笔记的搜索索引。任务会立即从未完成中消失,也不会因为旧索引而再次出现。