搜索
更新日期:2026-09-30
Plainva提供三种搜索方式:跨整个仓库的全文搜索、用于打开文件的快速切换器,以及笔记内的查找和替换。
跨仓库全文搜索
侧边栏顶部的搜索框可搜索整个仓库的标题和内容。本地全文索引(SQLite FTS5)在打开仓库时建立,并随文件变更更新。搜索可离线使用。
搜索会随着你的输入即时响应:词语前缀已经可以匹配(输入”项目plan”中的”Projec”即可找到”Project plan”)——无需按Enter。字段右侧的X会清除当前搜索(也可以按Esc);之后侧边栏会恢复显示正常的文件树。
在中文、日文、泰文等词与词之间不加空格的文字中,搜索词出现在正文任何位置都能找到:搜索可找到”全文搜索”,議事録可找到”今日は会議の議事録を書いた”。这类文字中间的拉丁字母单词也能找到(”…でPlainvaを使った”中的”Plainva”)。
搜索按每个匹配位置分别显示文本摘要、标题层级路径和行号。打开某一行会选中该处的具体匹配;同一笔记的多个匹配位置也会分别列出。显示的数量仅包含已加载的结果,可以继续加载更多匹配位置。方向键移动选择,Enter 打开所选项。加载中、无结果和错误状态均有明确提示;输入新查询后会忽略旧查询的响应。如果编辑后无法唯一确定原位置,会显示提示。快速切换器和移动搜索也使用这些匹配位置。在手机上返回搜索时,会恢复查询、已加载的结果和列表位置。结果默认按 相关度 排列;用搜索框旁的排序按钮(手机上:搜索页面的栏中)可改为 最近修改、标题 或 路径;继续加载时保持所选顺序。在手机上,排序面板会一直保持打开,直到你点按 完成;再次点按所选顺序可反转方向。
搜索框同样适用于其他侧边栏视图:在标签视图中会筛选标签列表,在书签视图中会筛选书签。
搜索操作符
"精确短语"——引号会精确匹配这个词语序列。对单个词来说,这也相当于全字匹配:"plan"能找到”plan”,但找不到”planning”。在不加空格的文字中,引号不会改变结果——这类文字没有词语边界。-词语——排除包含该词语的笔记(短语同样适用:-"旧版本")。path:文件夹——只匹配路径中包含该文本的文件(例如path:Projects;包含空格时:path:"My Folder")。tag:名称——只匹配带有该标签的笔记,包括嵌套标签:tag:project也能找到#project/internal。tag:#project同样有效。- 操作符可以取反(
-path:Archive、-tag:done),也可以与搜索词自由组合:plan tag:project -draft。 - 多个词语之间以AND方式组合。词语中的特殊字符(如
- ( ) : *)不会造成问题——Plainva会按字面处理输入内容。
快速切换器
Ctrl+O或Ctrl+K会打开快速切换器:输入内容,用方向键导航,按Enter打开。不输入任何内容时,会显示最近的文件列表——这是在当前笔记之间跳转最快的方式。匹配项也可以直接在新标签页中打开(对话框底部会显示对应的按键)。
匹配采用模糊匹配:输入prjplan也能找到”Project Plan”——字母只需按顺序出现,且出现在词首的字母权重更高。当笔记尚不存在时,列表会显示创建”…”:按Enter会立即在仓库根目录创建并打开它——输入名称,按Enter,即可开始写作。
在名称命中结果下方,切换器还会显示一个内容分组:文本内容与输入匹配的笔记,并带有高亮的匹配摘录。打开这样的结果会直接跳转到笔记内的匹配位置——就像侧边栏搜索一样。
笔记内的查找和替换
Ctrl+F会打开编辑器的搜索栏(在实时预览和源码模式下均可用):
- 查找,按
Enter/下一个和上一个在匹配项之间移动;全部会高亮所有匹配项。 - 选项:区分大小写、全字匹配、正则。
- 替换:替换单个匹配项(替换)或全部替换。
跨整个仓库
Ctrl/Cmd+Shift+F(或在命令面板中使用在仓库中查找并替换)会一次性搜索所有笔记。输入搜索词,点击查找,匹配结果会按笔记分组显示,每条都附带一行上下文。输入替换内容,取消勾选你想跳过的笔记,然后在N篇笔记中替换会重写其余笔记——每篇笔记都会通过安全的方式写回(原子写入+版本快照),因此过时的预览内容永远不会覆盖更新的内容。区分大小写、全字匹配和正则表达式在这里同样适用;在正则模式下,替换内容中还可以使用$1/$2反向引用。
每个匹配显示两行:替换前 是命中的位置,替换后 是结果——使用正则表达式时会展开 $1 反向引用,便于在写入前核对更改。无效的表达式会直接在输入框旁指出,而不是返回空列表;没有匹配时,空状态会说明该检查什么。替换过程中可以看到进度并 取消——已写入的笔记保持写入并被列出。手机上每个匹配同样显示这两行。
在手机上,同样的功能位于 标题栏中的放大镜,然后输入 > 并选择 在整个 vault 中查找和替换:匹配按笔记分组并默认折叠,这样一个有四十处匹配的词也不会把操作按钮挤走;点按某个笔记即可展开查看,取消勾选你想保留不变的笔记,按钮本身会说明它的作用范围(在 2 个笔记中替换)。离开应用时,正在进行的替换会在下一个笔记处停止 —— 已写入的笔记保持不变,并会被一一列出。
标签
侧边栏的标签视图列出仓库中所有的#标签及其命中次数;点击后会显示带有#标签的文件。标签既可以出现在正文中(#project),也可以出现在Frontmatter中(tags: [project])。侧边栏的搜索框同样会筛选标签列表。
在笔记中,标签显示为一个小胶囊——书写时和阅读时都一样;文本本身仍是 #project/website。点击胶囊(在手机上:阅读时轻点)会打开带有该标签的笔记。什么算作标签在各处都相同——在标签列表中、在任务中以及重命名时:行首或空格之后的 #,后跟字母、数字、_、- 或 /。纯数字不是标签(#42 仍是编号),代码或链接中的内容也不是。设置 → 应用 → 外观 下的 为标签着色 会根据标签名称为每个标签赋予一种颜色;嵌套标签与其顶层标签颜色相同。此设置属于此设备,不会在你的笔记中保存任何内容。
重命名标签可以在整个仓库范围内生效:在标签视图中右键点击某个标签,输入新名称。Plainva会在所有地方重写该标签——包括笔记正文中(#tag及其#tag/child子标签)以及Frontmatter中(tags:)——并通过同样安全的方式将每篇受影响的笔记写回。仅仅包含该名称的无关标签(例如#area/tag)不会受到影响。
在笔记内导航
右侧边栏的大纲列出当前笔记的所有标题——点击即可跳转到对应位置。在笔记之间跳转时,反向链接(谁链接到这里)以及编辑器的后退/前进按钮同样很有帮助。
另请参阅
- 快捷键
- 数据库(.base)——基于属性的结构化查询,而非全文搜索