Obsidian 插件篇 - 复习回顾 Obsidian_to_Anki

Obsidian 插件篇 - 复习回顾 Obsidian_to_Anki

本篇文章由复习回顾的需求开始,引出 Spaced Repetition 插件、SuperMemo、Anki 的对比,最后详细分享 Ob 集成 Anki。原文地址:Obsidian插件篇-复习回顾Obsidian_to_Anki

起因

去年有一段时间,热衷于收集七零八碎的文章帖子。整理后觉得有些知识点有回顾的必要,于是想着在 Obsidian 中引入复习回顾的概念。

由此跌入了消耗时间的无底坑,同时也接触了解到各种方法、理论体系,比如:常青笔记、渐进阅读等。限于篇幅与主题,本文着重于讲解 Ob 集成 Anki。

工具对比

Spaced Repetition

Spaced Repetition 是 Obsidian 插件市场中的一款间隔重复的插件,浅浅用过一段时间。

后面了解了 Anki 以及 SuperMemo 就弃用了,适合轻需求的用户使用。详见:Obsidian插件篇-插件汇总简介 Spaced Repetition 部分。

SuperMemo

SuperMemo 是一款与 Anki 类似的记忆辅助软件,它也采用了"间隔重复"的原理,但 SuperMemo 的历史更早,算法也更为复杂。

我了解到 SuperMemo 还是得益于 叶峻峣 大佬的 SuperMemo 渐进学习大型指北 系列文章。

当时感兴趣还下载了 SuperMemo18 体验了下。一番折腾,发现 SuperMemo 很强大,奈何界面实在是太古老了。功能上与 Ob 有不少冲突且有一定的学习门槛。

彼时,我的需求仅仅是在 Ob 中引入复习回顾的功能,还没想着舍弃 Ob,也自知是没有精力去折腾 Ob 和 SuperMemo 两款软件的。遂选择继续使用 Ob。

但是渐进阅读、渐进学习以及认知负荷理论的诸多理念我是颇为赞同的。

Anki

Anki 是一款免费开源的记忆辅助软件,它通过"间隔重复"的原理,帮助用户高效地记忆各种信息。

简单来说,根据你对知识的熟悉程度,在遗忘之前及时安排复习,从而事半功倍。

Anki 使用起来是有效果的,但是有几个缺点。

  • 一是卡片回顾起来,给我的割裂感十分严重,太碎片化了,缺少对知识的宏观把握。更适合提纲挈领后,反复温习填充细枝末节。
  • 二是卡片越来越多,脑力消耗差不多时打开手机看见软件 70+ 的红点通知,真是一种折磨。如此反人性,一两天还能挺住,及至后来,不了了之。

所以很长一段时间内,我就放弃了复习回顾这一需求。渐渐的就不折腾了,细水长流也很好。

很多时候我们都会高估了自己,一件事若是在状态最差的情况下也能完成,那么成功坚持下去才更有可能。

Ob 集成 Anki 实践

详细步骤

  1. 下载 Anki,安装 AnkiConnect

  2. 插件市场,下载安装 Export To Anki 插件

  3. 在 Anki 中,导航到 工具 ->插件 ->AnkiConnect->Config,并将以下配置复制粘贴:

    md 复制代码
    {
        "apiKey": null,
        "apiLogPath": null,
        "webBindAddress": "127.0.0.1",
        "webBindPort": 8765,
        "webCorsOrigin": "http://localhost",
        "webCorsOriginList": [
            "http://localhost",
            "app://obsidian.md"
        ]
    }
  4. 重新启动 Anki 以应用上述更改,并保持后台运行

  5. 设置不同卡片类型的正则表达式(见下文正则表达式设置参考)

  6. 编写测试笔记使用插件导出到 Anki 验证(下文测试笔记可直接复制测试使用)

详细可参考插件说明文档:ObsidianToAnki地址

制卡原则

原则上以本地的 Ob 笔记为主(阅读体验好、美观简洁),选用合适的格式制卡,优先选用居中分隔的制卡方式。

制卡注意事项

  • 用于制卡的原笔记内容修改后,再次导出,Anki 卡片会自动覆盖更新
  • 制新卡时注意制成卡片的标签、牌组名称、以及扫描目录
  • 制卡后原笔记会留下一串 ID,作为标识

多设备同步

制卡过程是在电脑上完成的,但是论起便捷复习还是使用手机更方便。我的方法也很简单,Anki 中导出后缀 .colpkg 的集合文件,发送到手机覆盖就行。

  • Anki 在安卓上免费使用,苹果上需付费购买。
  • 进度可以保留,操作比较简单
  • 每次都需要导出文件加发送,比较麻烦

正则表达式设置参考

md 复制代码
问答题:
^Q: ((?:.+\n)*)\n*A: (.+(?:\n(?:^.{1,3}$|^.{4}(?<!<!--).*))*)

问答题(翻转可选):
^#+(.+)\n*((?:\n(?:^[^\n#].{0,2}$|^[^\n#].{3}(?<!<!--).*))+)

基本题:
^(.*[^\n:]{1}):{2}([^\n:]{1}.*)

如图:

感兴趣可以学习一下正则表达式。

测试笔记

md 复制代码
// 新建笔记后复制粘贴即可
### 单行示例(基本题)

这是一个单行示例::双英文冒号后就是答案,且居中显示,但是不建立双链

### 问答题(Q&A)

Q: 这是Q1,
这是Q2
A: 这是回答语句1,支持多行提问与回复,左对齐
回答语句2,注意冒号是半角且后接一空格

### 问答题(居中分隔)

正面问题
------------------
这里是回答
优点:制成的Anki卡片居中显示
缺点:并没有
相关推荐
慕容静漪1 小时前
如何本地安装Python Flask并结合内网穿透实现远程开发
开发语言·后端·golang
ErizJ1 小时前
Golang|锁相关
开发语言·后端·golang
烛阴2 小时前
手把手教你搭建 Express 日志系统,告别线上事故!
javascript·后端·express
良许Linux2 小时前
请问做嵌入式开发C语言应该学到什么水平?
后端
Pitayafruit2 小时前
SpringBoot整合Flowable【08】- 前后端如何交互
spring boot·后端·workflow
小丁爱养花3 小时前
驾驭 Linux 云: JavaWeb 项目安全部署
java·linux·运维·服务器·spring boot·后端·spring
uhakadotcom3 小时前
Amazon GameLift 入门指南:六大核心组件详解与实用示例
后端·面试·github
小杨4043 小时前
springboot框架项目实践应用十九(nacos配置中心)
spring boot·后端·spring cloud
终身学习基地5 小时前
第二篇:go包管理
开发语言·后端·golang