开发与使用 Spaced Repetition:让记忆更高效
为什么需要这个工具
备考期间面对大量需要记忆的内容——口诀、对照表、概念辨析——传统做法是反复阅读笔记,但「看过」和「记住」之间有巨大的鸿沟。
核心矛盾很简单:被动阅读无法暴露记忆盲区。你以为自己记住了,合上笔记才发现脑子一片空白。
Spaced Repetition 组件的设计目标就是把 Obsidian 笔记直接变成主动回忆练习:在原文中挖空关键词,逼自己填写,用即时反馈替代自我欺骗。
它能做什么
制作背诵版
从 Obsidian 库中选择一篇笔记(或通过 frontmatter 属性筛选),在原文上选中文字即可标记为挖空项。支持:
- 单次选择:鼠标选中一段文字,自动标记
- 批量标记:选中后点击「标记全文相同内容」,一键标记所有相同文本
- 段落折叠:长文档按段落折叠,聚焦当前区域
- 多版本:同一篇笔记可制作多个背诵版本,每个版本挖空不同的内容
背诵练习
进入练习模式后,原文保留 Markdown 排版(标题、表格、粗体等),被标记的内容替换为编号空白。右侧面板逐一填写答案:
- 输入完全匹配时自动判定正确,原文对应位置变绿
- 输入错误时输入框抖动提示
- 可请求提示(显示首字)
- 支持乱序模式,打乱填写顺序
- Tab 键自动跳转到下一个未完成项
- 全部完成后自动记录练习次数
列表管理
所有背诵条目以卡片列表展示:
- 标题只显示文件短名 + 版本标记(如
v1、v2),路径折叠到下方小字 - 更新时间、练习次数、挖空数量分行展示
- 支持按时间 / 名称 / 练习次数排序
- 可在设置中配置列表显示数量上限
设计思路
核心理念:笔记即题库
与 Anki 等独立工具不同,这个组件不需要「制卡→导入→复习」的额外流程。笔记本身就是背诵素材,选中文字就完成了出题,零迁移成本。
快照式存储
制作背诵版时会保存一份原文快照。这意味着即使后续修改了源笔记,已有的背诵版不会受到影响。每个背诵版是独立的——同一篇笔记可以从不同角度挖空(比如第一版挖关键词,第二版挖展开含义),互不干扰。
基于偏移量的挖空定位
挖空内容通过「起始位置 + 结束位置」在原文中精确定位,而不是依赖关键词搜索。好处是即使原文中有重复文本,每个挖空项也能独立标记,不会误伤。
渲染策略:保留原文格式
制作阶段以纯文本形式展示原文,方便逐字选择标记。练习阶段则以 Markdown 格式渲染,保留标题层级、表格结构、粗体等排版——这样练习时看到的就是笔记的真实样子,而不是一堆扁平的文字。
严格匹配的答案校验
答案必须与原文完全一致才算正确,这是刻意的设计。背诵的目的是精确记忆,「差不多」的模糊匹配会降低练习质量。记错一个字就是记错了,抖动反馈会立刻告诉你。
文件筛选机制
通过设置中的 frontmatter 属性筛选规则,可以快速定位需要背诵的笔记。比如给需要背诵的笔记加上 tags: 背诵,然后设置筛选条件 tags contains 背诵,制作页面就只显示这些文件。所有规则取交集,支持精确匹配、包含、存在性判断等运算。
实际使用效果
以软考架构师备考为例,将口诀速记表制作成背诵版后:
- 暴露盲区:第一遍练习就发现大量「以为记住了」的内容,比如六个质量属性能说出五个但总漏一个
- 精确纠错:抖动反馈能立刻定位记错的字词,不会在模糊的「大概对了」中自我安慰
- 多角度练习:多版本机制允许从不同维度挖空同一篇笔记——第一版挖口诀对应的关键词,第二版挖展开内容
- 进度可视:练习次数记录帮助识别哪些内容已经熟练、哪些还需要加强,把有限的时间花在薄弱环节
- 零成本启动:笔记就在 Obsidian 里,标记几下就能开始练习,不需要额外制卡、导入导出