×

学习笔记《Anki》

96
马文Marvin
2017.05.26 03:39* 字数 1116

Anki 是一款记忆管理软件,我用在管理自己的英语单词上面

Anki is a spaced repetition flashcard program. Anki (暗記) is the Japanese word for memorization.

The SM2 algorithm, created for SuperMemo in the late 1980s, forms the basis of the spaced repetition methods employed in the program. Anki's implementation of the algorithm has been modified to allow priorities on cards and to show cards in order of their urgency.

功能

Anki 在自定义支持方面非常做了很多的努力:

  • 支持 Latex(数学 乐谱 化学分子结构等等)
  • 支持 Cloze(完形填空) Type(输入判断是否正确) 和 Hint(点击查看提醒)
  • 支持图片和音频
  • 支持 HTML + CSS + JavaScript
  • 简单的模板引擎(条件判断)
  • 数据链接(http://example.com/search?q=myword
  • 多用户(切换账号)
  • 强到变态的搜索功能(基本的搜索+十几种条件搜索)
  • 批量搜索和替换(支持正则)
  • 根据 Filter 条件创建 Deck
  • 多种数据导出方式(带 schedule)
  • 插件机制(插件列表:https://ankiweb.net/shared/addons/
  • Deck 共享(Deck 列表:https://ankiweb.net/shared/decks/

安装

支持的非常广泛,能够很好的支持大部分的桌面和移动设备:
https://apps.ankiweb.net/

个人安装了 iOS 版本和 Mac 版本

设置

Anki 有详细的文档:
https://apps.ankiweb.net/docs/manual.html
插件文档:
https://apps.ankiweb.net/docs/addons.html

官方录制了几个教学视频:
https://www.youtube.com/channel/UCFt1oYUNiwkMaJTSZiFEodQ

国内有人整理了一些学习资料:
https://zhuanlan.zhihu.com/p/21328602?refer=-anki

Anki 的讨论社区(也是客服地址):
https://anki.tenderapp.com/discussions/ankidesktop

Note Types 编辑的位置在:Tools → Manage Note Types

概念

Anki 为了给用户增加自定义的空间,提供了不少的功能,咋一看就会觉得比较复杂,所以这里简单梳理一下:
Deck:你自己的一个一个卡包(所用用户首页就叫做Decks)
Card:卡片(卡片可以有正面,反面,甚至组合卡片)
Field:字段,在 Card 上显示的内容,都是通过字段中的数据提取的
Node:为这些 Fields 插入的数据,称为 Node
Node Type:好几个 Field 的不同组合,称为不同的 Node Type
Card Type:组合了某个 Node Type,以及样式、 Field占位符 等等的内容以后,就可以成为Card Type

复杂的地方在于 Node Type 和 Card Type 的区分,为什么要有 Node Type 呢?因为 Language 类 和 Mathematics 类的卡片,他们的 Field 肯定是有很大不同的,把差异比较大的 Field 组合起来为一个 Node Type 也是为了方便复用

另外,当用户导入数据到 Anki 的时候,会根据 Node Type 来进行比较,这样就既可以防止同一个 Node Type 中的数据重复,又可以让相同的条目出现在不同的 Node Type 下面,具体比较的时候是用的第一个 Field

某一个 Deck 会绑定一个 Card Type,所以样式会统一,但是在添加 Card 的时候,可以选择不同的 Node Type,也是为了方便把别人做好的卡片换换样式方便自己使用

卡片导入

如果可以翻墙:
直接在 Google Sheets 里面创建好单词,然后下载为 .csv 格式,导入即可

如果不能翻墙:
方法1:在 Sublime 整理好以后保存为 txt 文件,直接上传
方法2:在 Excel 里面制作好,复制到 Sublime,继续「方法1」

如果你有更复杂的应用需求,可以参考有人专门做了一套工具和教程:
《Anki Excel 批量制卡工具(含视频教程)》:https://ninja33.github.io/20160802/anki-excel-tool/

自动化

在导入了卡片以后,会有一些自动化的需求,比如自动载入单词的音标、发音、例句等等

发音:AwesomeTTS 插件

查找重复的单词

在 Browser 中搜索「deck:'Deck A' or deck:'Deck B'」

然后标记为 Tag: duplicate

然后删除

在用的插件

一个重新设置 Due 的插件:
https://ankiweb.net/shared/info/1432861881

一个可以从 Browser 中导出数据为 .cvs 的插件:
https://ankiweb.net/shared/info/46837454

关于 ios 的收费

工具网站

这个网站可以帮助批量的获取单词的意思:
http://easydefine.com/

替换的正则:
([a-z]* - )

技术学习笔记
Web note ad 1