笔记与Markdown

更新日期:2026-10-23

Plainva中的每一篇笔记都是一个普通的Markdown文件(.md)。本页说明如何舒适地写作,以及文件里实际保存了什么——这正是让你的笔记具有可移植性的原因:任何文本编辑器、Obsidian,甚至git diff都能读懂它们。

核心原则:一切皆文本

无论你在Plainva中看到的是什么——格式化文本、表格、属性、图标——它们都以开放的文本形式存储:

---
type: Note
tags: [project]
plainva:
  icon: "🚀"
  header_color: "#2f6f6f"
---
# My Project

A **bold** thought with a link to [[Another Note]].

- [ ] First task

---之间的部分是Frontmatter(YAML):笔记的属性就保存在这里。下面是普通的Markdown正文。Plainva特有的呈现方式(图标、页眉颜色)统一归在plainva:这一个键下——其他程序会直接忽略它。

在实时预览中写作

实时预览是默认模式:Markdown会随输入即时渲染,同时始终保持可编辑。

斜杠菜单

在行首输入/即可打开插入菜单,它按分区分组:

更多写作辅助功能

链接与反向链接

属性(Frontmatter)

右侧边栏的属性分区把笔记的Frontmatter显示为一个表单。每个属性占一行:类型图标、名称、值,右侧边缘是这一行可以做的事——受保护字段显示锁,鼠标悬停时出现删除属性和评论气泡。值可以就地编辑,过长时会换行而不是被截断。添加属性可以新建属性;每个属性都有一个字段类型:

分组类型
基础文本、数字、复选框、日期、日期和时间
选择单选、状态、多选
列表与关联列表、标签、关联
网络与联系方式URL、邮箱、电话

选择类型可以携带固定选项,每个选项有一个颜色,状态类型还可以设置分组/阶段——这些选项列表在数据库(.base)中管理,参见数据库(.base)。

受到保护的是Plainva管理的OKF系统字段:type(值可以从已知类型的下拉列表中选择,名称/字段类型/删除都被锁定)以及——在旧笔记仍带有它的情况下——okf_version(仅供查看;自OKF 0.2起,这个字段只属于根目录的index.md)。背景说明见OKF。

状态、过期提示与审阅标记(OKF 0.2)

来自OKF 0.2的五个可选属性,让一篇笔记说明自己的来源以及是否仍然有效——Plainva无需任何设置就会显示它们:

Plainva只在自己创建笔记的地方设置generated和sources——在导入器、邮件采集和任务同步中;编辑器绝不会自行盖章,已有的笔记也不会被事后补盖印记。字段契约见文件格式参考,背景说明见OKF。

文档图标与页眉颜色

每篇笔记都可以携带一个图标(Notion风格,位于标题上方,标签页和文件树中也可见)和一条全宽的颜色条:

模板

在设置 → 仓库 → 内容与结构(点击输入框旁的 选择文件夹… 可直接在仓库中选择文件夹)中设置模板文件夹。之后可以通过Ctrl+Alt+T或斜杠命令插入模板来插入模板。模板完全定义新文件的内容——包括Frontmatter:如果模板自带type,模板的值优先生效。插入到现有笔记时,模板的 frontmatter 会被省略——只插入内容。

占位符:模板会填充具名的占位符——没有脚本,没有表达式;这一切都不会执行代码。

占位符插入内容
{{title}}笔记的标题
{{date}}, {{time}}日期和时间;使用自定义格式:{{date:DD.MM.YYYY}}
{{date+7}}, {{date-1}}偏移后的日期,可与格式组合使用
{{yesterday}}, {{tomorrow}}前一天、后一天
{{weekday:monday}}, {{weekday:next friday}}本周或下周的那个星期几;第二个冒号之后可跟格式:{{weekday:monday:DD.MM.}}。一周从哪天开始取决于你的日历设置
{{daily}}, {{daily+1}}, {{daily-1}}指向今天、明天或昨天日记的链接;可自定义显示文字:{{daily+1:明天}}
{{folder}}, {{vault}}笔记所在的文件夹、仓库的名称
{{cursor}}不插入文本——标记之后光标的落点
{{prompt:Label}}, {{prompt:Label|Default}}向你询问一段文本(显示为Label)
{{select:Label|A,B,C}}向你提供一份可选择的清单
{{date_prompt:Label}}向你询问一个日期
{{selection}}选中的文本——插入模板时使用
{{clipboard}}剪贴板——它会以预先填好的问题形式出现,绝不会在笔记中不知不觉地出现
\{{date}}占位符本身,未被解析

日期的语言:星期名和月份名(dddd、MMMM)跟随应用语言——在德语界面中,{{date:dddd, D. MMMM YYYY}} 会写出 Mittwoch, 29. Juli 2026。日记的文件名特意保持英文:它必须与创建时使用的格式一致,否则 Plainva 将无法再找到已有的日记。

当模板需要询问时,Plainva 会在写入笔记之前把所有问题集中在一个对话框中提出——无论是插入还是创建;取消操作不会创建任何内容。只有在后台创建的笔记(例如任务同步)才不会被询问:那里的答案会保持为空。Plainva 不认识的占位符会保持原样可见——这样,一个拼写错误看起来就像一个拼写错误。

在手机上同样的引擎在运行:占位符会被替换,模板的问题会一起出现在一个表单里(取消则不会创建任何内容),并且文件夹 → 模板和笔记类型 → 模板的规则同样适用——因此Projekte/中的笔记在两台设备上都会以相同的方式开始。这些规则也可以在手机上设定(设置 → 内容与结构),并且{{weekday:…}}在那里遵循设置 → 外观中的每周开始于;每台设备各自保存这项设置。

仅属于模板的设置:模板可以带有只对模板自身生效的设置——例如它的任务不出现在任务视图中,或者它属于哪些数据库。由它创建的笔记不会继承这些设置。在 0.8.5 及更早版本中从模板创建的笔记可能仍然带着它们;如何找到它们,请参见常见问题与故障排查。

文件夹模板:在设置 → 仓库 → 内容与结构 → 模板中,你可以把一个文件夹关联到一个模板——之后在该文件夹里新建的每一篇笔记都会以这个模板开始,无需你做任何选择。这项关联同样适用于子文件夹;当多个关联都匹配时,路径最长的那个胜出(项目/客户胜过项目)。你也可以用同样的方式把模板关联到笔记类型;只有在没有任何文件夹规则覆盖该笔记时,这项关联才会生效——文件夹胜过类型。从模板新建笔记…(在文件树中右键点击、使用命令面板或快速切换器)可以让你明确选择一个模板——它会胜过任何关联。这些关联保存在设置中,而不是笔记里,并会通过设置同步传递到你的其他设备。

新建模板随处可用:命令面板(Ctrl+P)提供创建新模板(会打开一个全新的模板供编辑)和将当前笔记保存为模板(把当前打开的笔记复制到模板文件夹)。模板就是普通的Markdown文件——可以直接在文件树中编辑、重命名或删除它们。在手机上,这两个命令同样位于命令面板(在搜索框中输入 >);第二个需要从笔记的 ⋮ 菜单 → 命令打开面板。

日记

打开日记(侧边栏)或点击日历中的某一天,会使用你设置的日记日期格式,在已配置的日记文件夹中创建今天的日记,也可以选择性地基于模板创建。

一篇日记也可以带有一份日志:在标题Journal下方,写下带有时间的简短条目(- 14:05 文字),用Ctrl+Shift+J或日志条目写入,并在日志视图中跨所有日期读取。它们是普通的列表行——参见日志。

任务、公式、图表与脚注

从右到左的文字

阿拉伯语、希伯来语、波斯语以及其他从右到左书写的文字会自动从右到左排版——逐段进行,无需任何设置。每个段落、标题、列表项、引用行和表格单元格都以 Markdown 语法之后的第一个字母为准:以阿拉伯语单词开头的段落从右侧开始,以拉丁字母单词开头的段落从左侧开始,同一篇笔记可以两者混排。项目符号、复选框、引用竖线和缩进会随文字移到右侧;- [x] 中的 x 不算作单词,因此已完成的任务仍留在右侧。没有字母的行(一个数字、一个新的空列表项)沿用上一行的方向。

打印与另存为PDF

编辑器的 ⋮ 菜单和命令面板(Ctrl+P)中都有打印 / 另存为PDF…:打印始终使用阅读视图(如果当前处于实时预览/源码模式,Plainva会先自动切换过去)。在系统对话框中,你可以选择”另存为PDF”而不是打印机。

导出笔记

在其他编辑器中打开笔记

你的笔记是普通的.md文件,因此任何Markdown编辑器都能打开它们。编辑器的 ⋮ 菜单中有在默认应用中打开,会把当前笔记交给你系统默认用于打开Markdown文件的应用程序(Byword、MacDown、VS Code等)。Plainva会持续监视该文件,因此你在那里所做的修改会自动出现在这里。

图片与附件

那Obsidian呢?

一切仍然是带有标准Frontmatter的标准Markdown。Obsidian可以完整地打开这些文件;它会在属性面板中把打包的plainva:键显示为一个不可编辑的对象——这是刻意如此,且无害。

另请参阅

设置多行选择的格式

当选择范围跨越多行时,粗体、斜体、删除线、高亮和行内代码会分别应用到每个非空行。列表、引用、标题和任务前缀会保留在行内标记之外。链接仍限于单行,因为多行链接标签不是可移植的 Markdown。

ATX 标题和 GFM 任务是两种互斥的块类型,因此 Plainva 不会写入无效的混合形式。两种块都支持行内格式;可使用 - [ ] **重要任务** 来突出任务标题。

嵌入章节和块

![[笔记#标题]] 显示该章节及其子标题,直到下一个同级或更高级标题。![[笔记#^block-id]] 显示指定段落、列表项,或单独一行的块 ID 之前的块。普通链接 [[笔记#^block-id]] 在阅读模式中也会跳转到该位置。

标题重复时,请使用唯一的标题层级(#项目#结果)或带编号的锚点(#结果-1)。目标不存在或不明确时会显示提示,仍可打开来源。嵌套层级有限制,代码示例中的嵌入不会执行。手机上指定章节或块不会像普通笔记预览那样截断为四行。现有文件不会被修改。

使用列表

只有在列表标记上完成轻点或点击后,列表项才会折叠。拖动、滚动、中断触摸或多指手势不会将其折叠。更换字体或使用窄窗口时,缩进保持稳定;源文本、制表符和光标位置均会保留。

选择工具栏保持可见

格式工具栏会在滚动时跟随选区,并与屏幕边缘保持间距。空间不足时,工具栏会移动到选区另一侧或将按钮换行排列。在移动端阅读模式中,过长的操作名称会按需显示为带有无障碍名称的图标;复制、全选以及可用的编辑或评论操作仍可使用。

补全属性

添加属性时,已有名称会显示类型和使用次数。当前笔记中已有的名称和保留名称不会列入候选。类型依次优先采用所属数据库的定义、索引中的类型和本地类型设置。文本和列表的候选值来自笔记所在文件夹;“搜索整个仓库”可扩大范围。列表会提供单独的值。数据库定义的选项始终独占,即使选项列表为空。仍可自由输入;只有确认编辑才会修改笔记,文本和列表不会改变类型。此功能适用于桌面和移动端的笔记属性及数据库单元格。

打开图片

本地图片在阅读模式、实时预览及图片上下文菜单中提供 打开图片。在移动端查看器中可用双指、双击或按钮缩放;重置缩放 显示整张图片。返回会回到笔记。长按嵌入图片仍保留系统操作,也可继续选择图片区域添加评论。