任务

更新日期:2026-07-26 任务视图会把仓库中的每一个复选框汇集到一处:所有笔记中的- [ ]- [x]列表项,会按照它们所在的笔记分组显示。这是一个基于纯Markdown、回答”我还有哪些事要做?“的视图——不需要插件,也不需要特殊文件。

为什么使用独立视图(而不是.base

数据库(.base以整篇笔记为单位工作——每篇笔记对应一行。复选框只是笔记内部的一文本,而一篇笔记可以包含许多个复选框,因此.base无法列出它们。任务视图是基于行的:它会直接读取任务所在的文本行,因此一篇包含十个子任务的项目笔记会显示全部十条。

打开任务视图

它会像任何笔记一样,以标签页形式打开。

查看列表

任务会按笔记分组;每组的标题就是笔记标题,点击即可打开该笔记。每个任务都会显示其复选框和文字内容,完成后会加上删除线。任务行中以📅 2026-08-01形式写出的截止日期会显示为一个小徽章。

筛选

顶部的这一栏可以缩小列表范围:

标签和截止日期会直接从任务所在的这一行文字中读取——例如- [ ] 支付发票 #finance 📅 2026-08-01

勾选任务

点击任务的复选框,即可在未完成和已完成之间切换。这个变化会直接写回笔记文件(一次普通、安全的文件写入——只有[ ]/[x]这一个字符会发生变化),因此笔记本身、Obsidian以及任何同步都会保持一致。点击任务的文字部分则会打开该笔记,并跳转到对应的那一行。

如果笔记在列表生成之后发生了变化,一次过期的切换操作会被跳过,并且列表会自动刷新——你也可以随时点击右上角的刷新按钮来重新加载。

默认任务数据库

复选框适合随手记一笔,但有时一行文字会逐渐成长为一项”正式”的任务——需要状态、截止日期,以及属于自己的一篇笔记。为此,可以在设置 → 仓库 → 内容与结构中选择一个默认任务数据库:一个数据库(.base,让这类任务以独立笔记的形式存在。新建数据库…会为你搭建一个现成的数据库(一个存放文件夹,加上一个带已完成复选框列done)、状态列、截止日期列、表格视图和看板视图的.base);你也可以直接选用一个已有的数据库。复选框属性是任务的完成状态真值(开/关,与各服务商一致);勾选后,状态列会保持一致。没有复选框列的数据库会回退到状态约定:第一个选项=未完成,最后一个选项=已完成。

设置完成后,任务视图会显示两个部分:上方是任务数据库中的条目,下方是来自笔记——也就是熟悉的复选框列表。状态可以直接在概览中修改:复选框即笔记的已完成复选框属性,点击即可切换它(状态列会随之更新),点击状态芯片则会打开一个包含所有选项的菜单(更改状态)。未完成/已完成/全部筛选适用于这两个部分,作为数据库打开可跳转到完整的数据库视图,包含看板和筛选条件。当已连接账户时,刷新还会额外触发一次真正的服务商同步。

把复选框变成数据库任务

每个任务都带有一个数据库图标:移动到任务数据库。点击一次会:

右键点击该图标可以改选其他数据库作为目标;如果尚未设置默认任务数据库,点击时会直接打开这个选择器。一切都保持为纯Markdown:新任务是一篇带有Frontmatter的普通笔记,源笔记中的链接则是一个普通的[[内部链接]]

分区标题中的**+ 新建任务**会直接在任务数据库中创建条目(存放文件夹、模板和预填与移动复选框时完全相同)并打开它。写在笔记里的复选框仍留在那篇笔记中——只有当你移动它们时,才会变成数据库任务。

为任务预留时间

Plainva 中的任务精确到:任务有截止日期,没有具体时刻。想为某个任务留出一段时间时,Plainva 会创建一个日程——日程才是拥有时间区间的对象,会在时间网格中显示重叠情况,并与你的日历账户同步。

任务行上的日历图标会打开预留时间:日期(默认填入截止日期)、开始时间和时长(15 分钟、30 分钟、1 小时、2 小时或自定义);当有多个可写日历时,还会显示日历选择。日程使用任务的标题,并链接回该笔记。

对于数据库中的任务,笔记还会把这次预留记录在前置数据中(plainva.blocks),因此两端都能看到这层关联。复选框行没有自己的笔记——那里只会创建日程,并指向该行所在的笔记。只有连接了日历账户时才会出现这个图标。

重复任务

定期重复出现的任务,可以通过任务数据库部分中的重复图标来设置重复。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插件常用的写法,但在你的笔记里,它们不过是普通文本。

另请参阅

在总览中完成任务

在总览中勾选任务时,Plainva 会把复选框写回源笔记,并在重新查询列表之前更新该笔记的搜索索引。任务会立即从未完成中消失,也不会因为旧索引而再次出现。