最开始的时候我无法用一句话来形容这个软件,大部分人将它称为背单词软件,部分人有拿他作为知识笔记软件,甚至有人拿他来学习乐谱,诗歌,但总之如果要用简单的话来描述这个软件,那么跨平台必定是关键词,另外一个关键词就是卡片,在另外一个就是循环记忆,那么至于卡片上承载什么样的内容,就完全由用户来决定了。
很长一段时间内我都无法很好的尝试使用 Anki 来进行记忆,烦恼我的一点理由就是 Anki 的卡片制作过程,我知道很多人都说学习记忆是在卡片制作过程中,但是我发现制作卡片花费的时间已经超过我使用纸张来记录的时间。所以很长一段时间内 Anki 就躺在我所有的设备上,虽然偶尔会打开一下,但是依然没有养成每天记忆的习惯,反而在其他背单词软件中坚持了下来。但是在使用线程的单词记忆软件的时候,我不时的会想起 Anki 来,也渐渐地发现线程的单词记忆软件有其自身的缺点,而这个缺点正是 Anki 可以弥补的(虽然可能需要花费一些时间来熟悉 Anki)。
比如使用通常的软件来背单词,优势在于这些软件可能事先已经准备好了单词集,发音,例句,讲解等等,然而在使用过程中就会发现这些东西始终是字面上的东西,即使记忆了和多遍,依然没有被录入到自己的脑袋里。反而有些时候,比如某一次到异国他乡遇到的一个单词,像烙印一样深深地印在脑子里,每一次想到这地方脑海里便会回忆起这个单词。丝毫没有可以去记忆,但潜意识中就已经将这个单词记忆下来了。所以这个时候我又想起了 Anki,对于想要记忆的东西,不妨用自己的语言描述放到 Anki 的背后,写一段故事也好,描述一个场景也好,自己写下来的东西,每次翻到的时候记忆总是要比别人准备好的东西要深刻。
另外一个使用 Anki 的误区便是,当你发现你在制作卡片时陷入了不间断的 Copy/Paste ,那么请立即停下来,就像这里 说的那样,首先去理解你要去记忆的东西,否则你会陷入无限的知识债务。
end up accruing a lot of ‘knowledge debt’ that you’ll have to pay for down the line.
应该花费更多的时间来理解需要记忆的内容,而不是在制作卡片上。当对内容理解越深刻,那么以后 reviewing 或者 recalling 的时候花费的时间也会减少。
下载
官方网站:
下载解压之后有 README,看其中说明,安装即可。
使用场景
任何需要记忆的内容都可以从 Anki 中受益,因为 Anki 不感知内容,支持图像,音频,视频,甚至科学符号(LaTeX),比如你可以
- 学习一门语言
- 准备医学或者法律考试
- 记忆人的名字或者脸
- 重新学习地理
- 记忆长段的诗歌
- 甚至练习吉他的和弦
理念
Anki 背后的理念:active recall testing and sapced repetition.
几个概念
官方文档已经非常细致,可以直接阅读,这边只列举一些比较重要的内容。
Cards
卡片,Anki 的核心概念,正面问题,背面答案,便于组织记忆
Deck
来自朗文的解释:a set of playing cards
,翻译为一组卡牌
Profile
朗文的解释:a short description that gives important details about a person, a group of people, or a place
,翻译为档案,介绍也都可以,在 Anki 的 File 菜单中,可以切换 Profile,不至于导入别人的卡牌之后弄乱自己的设置,或者自己在使用时也可以根据不同的场景定义不同的 Profile
学习
学习过程中,打开 Decks 可以看到一个 Overview,卡片的种类被分为三种类型:
- New, never been studied before
- Learning, cards have been seen for the first time recently, and are still being learnt
- To Review, cards were prviously learnt, and now need to be reviewed so you don’t forget them
首次学习
有三个按钮
- Again moves the card back to the first step
- Good moves the card to the next step.
- Easy immediately converts the card into a review card, even if there were steps remaining
Reviewing
回顾时有四个按钮
- Again,let ani to show the card more frequently in the future
- Hard,shows the card at a slightly longer delay than last time, and tells Anki to show the card more frequently in the future.
- Good tells Anki that the last delay was about right
- Easy tells Anki you found the delay too short
学习资源
官网那一定是最全的,包含各国语言
插件
Add-ons
推荐几个(只适用于我目前使用的 2.1 版本,随着时间变化,下面的 id 可能失效):
- 900455869 TTS 发音
- 1612375712 触发全屏
- 2055492159 AnkiConnect
- 775418273 WordQuery https://github.com/finalion/WordQuery 用来简化制作卡片的过程,查询单词立即自动制作卡片,支持从 mdx stardict 字典中直接检索,支持网络字典
AnkiConnect
源码地址:https://github.com/FooSoft/anki-connect
这个插件将 Anki 的功能暴露一份 RESTful 接口,这样就可以用接口方式来操纵 Anki。安装开启该插件后会监听 8765,默认绑定 HTTP 服务到 127.0.0.1,只有本机可以访问该服务。如果想要其他网络访问,可以设置环境变量 ANKICONNECT_BIND_ADDRESS
为 0.0.0.0
。
FastWordQuery
可以从不同的来源将词添加到 Anki
自动化制作卡片
Chrome to Anki
需要借助一款 Chrome 插件
和一个 Anki 插件
这两个插件都是开源 12 的,看官方的说明也很简单就略过了。
GoldenDict to Anki
虽然目前一直在寻找方法能够间 GoldenDict 查词记录自动制作卡片到 Anki,但是目前尚未找到合适的方法,虽然有了解到可以使用 mdx-sever 共享一个 HTTP 服务,然后使用上面的方法自动制作,但感觉依然有些麻烦。
Kindle to Anki
对于 Kindle 我很少将它连到电脑上做导出导入的事情,所以这个不准备弄了。
如果对于 Kindle 有重度依赖,并且希望使用 Anki 的方式来整理标注的话,可以试试 ankindle 这样一个插件,可以导出单词和标注,并且制作成 flashcard 用来记忆。
Tips
几个小小的 tips.
- Add-ons 固然是非常有用,非常强大的,但是千万不要在上面花费过多的时间。在软件工程领域有句话,越早的优化可能带来灾难,get things done 要比优化重要的多。
- 在 Revising 卡片的过程中,及时的将卡片标注为是否需要编辑,然后及时的更新卡片的内容
搭建 Anki 同步服务器
参考官方的 repo
需要注意的是目前这个 Anki Sync Server 只支持特定版本的客户端,需要到 GitHub 页面自己确认一下。
Install
可以使用这个 docker-compose:
version: "3"
services:
anki-sync-server:
container_name: anki-sync-server
image: kuklinistvan/anki-sync-server:latest
restart: always
ports:
- "27701:27701"
volumes:
- ./data:/app/data
服务端创建用户
sudo docker exec -it anki-sync-server /bin/sh
# help
/app/anki-sync-server/ankisyncctl.py --help
# add user
/app/anki-sync-server/ankisyncctl.py adduser username
input password
# list users
/app/anki-sync-server/ankisyncctl.py lsuser
# modify password
/app/anki-sync-server/ankisyncctl.py passwd username
Linux 等桌面客户端
菜单,工具,插件,安装插件 2124817646
:
http://1.2.3.4:27701
http://1.2.3.4:27701/msync/
Android 客户端配置
在客户端,设置,高级设置,自定义同步服务器中设置。