介绍

原文:Introduction - Anki Manual (ankiweb.net)

快速开始

着急吗?直接跳到入门指南

寻求帮助

寻找帮助?请查看获取帮助

翻译

志愿者们为本手册贡献了翻译。这些翻译可能不会始终保持最新。

如果你希望帮助将手册翻译成其他语言,请参 阅翻译文档

背景

原文:Background - Anki Manual (ankiweb.net)

Anki 是一款让记忆变得轻而易举的软件。与传统学习方式相比,它的效率要高得多,你可以大幅缩短学习时间, 或者显著扩充学习量。

生活中任何需要记忆的人都能从 Anki 中获益。它不拘泥于记忆内容的形式,支持图像、音频、视频乃至科学公 式,用途之广泛可谓不胜枚举。比如:

  • 掌握一门新语言

  • 备战医学和法律考试

  • 记住他人的名字和长相

  • 复习地理知识

  • 烂熟于心地背诵长篇诗歌

  • 甚至练习吉他和弦!

Anki 背后有两个简单的概念:主动回忆测试间隔重复。尽管科学文献中对其有详细记录,但大多数学 习者对此知之甚少。理解这些概念的工作原理将使你成为更高效的学习者。

主动回忆测试

何谓主动回忆测试?就是面对一个问题,你试图搜寻记忆并给出答案。这有别于被动学习后者往往是你浏 览、观看或者聆听某些内容,却不暂停下来问问自己自己是否知道答案。研究表明,相较于被动学习,主动回忆测 试在构筑牢固记忆方面效果显著。原因有二:

  • 回忆某件事物的行为本身就能强化对它的记忆,让你今后更容易再次记起它。

  • 当回忆失败时,这一结果也在提醒你,有必要回到材料中,予以复习和重新学习。

其实你在学生时代很可能已经体会过主动回忆测试,只不过当时并没有意识到。当优秀的老师让你在读完一篇文章 后回答一系列问题,或是每周都给你小测时,他们并不仅仅是为了考察你是否理解了材料。通过这样的测试,他们 增大了你日后回想起所学知识的几率。

要在学习中运用主动回忆测试,抽认卡是个很好的工具。使用传统的纸质抽认卡时,你在卡片正面写下问题, 背面写下答案。只有在回想出答案后再翻至卡片背面核对,如此学习的效果就远胜被动观察了。

用进废退

我们的大脑是高效的机器,它会迅速遗忘那些看似无用的信息。譬如,你可能已不记得两周前星期一晚餐的具体菜 单,因为这信息通常无关紧要。但如果那天你去了一家出色的餐厅,后两周一直在跟人夸赞它有多棒,你很可能至 今仍记忆犹新,印象深刻。

大脑的「用进废退」策略适用于我们学过的所有东西。如果你花了一下午记住了一些科学术语,然后两周内再没想 过这些材料,那么你很可能已经忘记了大部分内容。事实上,研究表明,我们在学习后的 48 小时内就会忘记约 75% 的内容。当你需要学习大量信息时,这看起来可能很令人沮丧!

好在,解决方案其实简单:复习。只要复习新学的内容,我们就能大幅减少遗忘。

唯一的问题在于,传统的复习方式往往并不实用。如果使用纸质抽认卡,需复习的卡片不多时倒还方便,但如果多 达 300 张、3000 张,就难以管理了。

间隔重复

间隔效应这一概念最早由德国心理学家赫尔曼·艾宾浩斯在 1885 年提出。他发现,相比集中式学习,将复习 分散到一段时间内进行,能够显著提高学习者的记忆效果。自 1930 年代以来,有许多关于利用间隔效应来改善学 习的提议,这就是所谓的间隔重复

一个例子是在 1972 年,当时德国科学家 Sebastian Leitner 推广了一种使用纸质抽认卡进行间隔重复的方法。 将纸质卡片按照记忆难易程度分门别类地存放在不同盒子里,每次复习后,根据回忆情况对卡片进行重新分类。这 套方法让学习者能够一目了然地粗略估计每张卡片的熟练程度,以及应该何时再次复习。这比只有一个卡片盒有了 很大改进,并已被计算机化抽认卡软件广泛采用。然而,这种方法仍然相当粗糙,无法给出精确的复习日期,也难 以灵活应对不同难度的学习材料。

近 30 年来最大的进展来自于 SuperMemo,这是一个实现了间隔重复的商用抽认卡程序。SuperMemo 开创性地提出 了一套智能系统,能够跟踪学习材料的最佳复习时间,并根据用户的表现进行自我优化。

在 SuperMemo 的间隔重复系统中,每次复习时你都要向程序反馈你记得怎么样——是否完全遗忘、犯了小错、费力 回想还是毫不费力地想起。程序则会依据你的反馈,计算出下一次向你呈现该问题的最佳时机。由于每一次成功的 回忆都会加深记忆强度,因此复习间隔也会随之拉长。比如说,你可能今天初次记忆一个问题,程序会在 3 天 后、15 天后、45 天后等逐步延长的时间节点上再次安排复习。

这在学习中是一场革命,因为它让人们能够以最低的时间成本,高效地学会并牢牢记住各种知识。SuperMemo 的口 号总结得很好:通过间隔重复,你可以「忘掉遗忘」。

为什么选择 Anki?

不可否认,SuperMemo 在间隔重复领域影响深远,但它也存在诸多不足。用户常抱怨该软件 bug 多、操作繁琐, 而且只能在 Windows 系统运行。作为封闭源代码的商业软件,SuperMemo 无法被用户扩展功能或直接访问底层数 据。虽然其早期版本现已免费开放,但对当下用户而言,功能相当局限。

Anki 很好地解决了 SuperMemo 的这些痛点。它在多个平台上均提供免费版本,经济条件有限的学生和教师也能无 障碍使用。Anki 采用开源模式,拥有一个活跃的社区,用户可以自由贡献插件和扩展功能。不仅如此,Anki 还能 跨平台运行,支持Windows、macOS、Linux/FreeBSD 等操作系统和多种移动设备。总的来说,Anki 在易用性方面 远胜 SuperMemo。

在间隔重复算法上,Anki 最初基于 SuperMemo 的早期算法 SM-2,不过最近又集成了一种名为 FSRS 的新算法,作为 SM-2 算法的替代选择。

平台说明

原文:Platform Notes - Anki Manual (ankiweb.net)

本节解释了 Anki 的安装方式,以及你可能遇到的问题,具体取决于你的操作系统:

如果你已经安装了 Anki,你可以跳到入门指南部分。

Windows

原文:Windows - Anki Manual (ankiweb.net)

在 Windows 上安装和升级 Anki

关于如何在 Windows 上安装或升级 Anki 的说明,请参见:

问题

如果你在安装或启动 Anki 时遇到任何问题,请参阅目录中的子章节。

在 Windows 上安装和升级 Anki

原 文:Install & Upgrade - Anki Manual (ankiweb.net)

要求

最新的 Anki 版本需要运行 64 位版本的 Windows 10 或 11 的电脑。

  • 支持 Windows 7 和 8.1 的最后一个 Anki 版本是 Anki 2.1.49。
  • 支持 32 位 Windows 的最后一个 Anki 版本是 Anki 2.1.35-alternate

如果你使用的是老旧的电脑,可以从发布页面获取旧版本。

安装

要安装 Anki:

  1. https://apps.ankiweb.net 下载 Anki。有关如何在 -qt5 和 -qt6 之间进行选择,请参见下一节。
  2. 将安装程序保存到桌面或下载文件夹。
  3. 双击安装程序运行。如果你看到错误信息,请参见安装问题页面
  4. Anki 安装完成后,双击桌面上的新星形图标以启动 Anki。

Qt5 vs. Qt6

最新版本的 Anki 以 Qt5 和 Qt6 两个不同的版本提供。建议大多数用户使用 Qt6 版本。

Qt6 版本的优点:

  • 各种错误修复,包括更好地支持不常见的语言。
  • 非常大的图片比 Qt5 版本加载更快。
  • 安全更新。Qt5 库的支持于 2020 年 11 月停止,这意味着自那时以来发现的安全漏洞将保持未修复状态。
  • 一些用户在 Qt5 中使用自定义快捷键切换输入语言时会 遇到冻结的问题。

Qt6 版本的缺点:

  • 一些插件目前仅在 Qt5 版本上可用。

升级

如果从 Anki 2.1.6+ 升级,无需先卸载旧版本。你只需要在关闭 Anki 后,按照上述安装步骤进行。升级时,你 的卡片会被保留。

如果从 2.1.6 之前的 Anki 版本升级,或者在标准版和替代版之间切换,建议先卸载旧版本,这将移除 Anki 的 程序数据,但不会删除你的卡片数据。

如果你希望降级到以前的版本,请确保你先降级

插件兼容性

一些插件可能无法总是与最新的 Anki 版本兼容。如果你升级到最新 Anki 版本后发现某个不可或缺的插件停止工 作,可以从发布页面下载旧版本的Anki。

问题

如果在安装或启动 Anki 时遇到任何问题,请参见以下页面:

如果在使用 Anki 时遇到任何界面问题,请参见以下页面:

Windows 安装问题

原 文:Installation Issues - Anki Manual (ankiweb.net)

安装 Anki 时可能遇到的一些错误信息:

请参阅启动问题

「打开文件写入时出错」

如果关闭 Anki 和浏览器没有帮助,请尝试重启你的计算机,然后再次运行安装程序。

「Windows 保护了你的电脑」

当发布新版本的 Anki 时,Windows 可能会显示可怕的消息,直到它看到足够多的人使用新版本。要继续进行应用 安装,请使用 仍然运行

杀毒程序有时也可能报 告误报

Windows 启动问题

原 文:Startup Issues - Anki Manual (ankiweb.net)

没有错误,但应用未出现

最近有一些报告称 Anki 无法出现,但没有显示任何错误消息。如果你遇到这种情况,你可以:

  • 一些用户报告在断开多个/外部显示器后问题停止。
  • 安装最新的 Anki 版本(尝试 qt6 和 qt5)
  • 或者你可以尝试 调整小数点分隔符,如果它不是一个 点。
  • 或者你可以尝试旧版的 Anki 2.1.35-alternate 构建。

Windows 更新

启动 Anki 时,你可能会收到如下消息:

  • Error loading Python DLL
  • The program can't start because api-ms-win.... is missing
  • Failed to execute script runanki
  • Failed to execute script pyi_rth_multiprocessing
  • Failed to execute script pyi_rth_win32comgenpy

这些错误通常是因为你的计算机缺少 Windows 更新或 Windows 库。

请打开 Windows 更新,并确保你的系统已安装所有更新。如果有需要安装的,请在安装后重启你的设备。

Windows 7/8

在 Windows 7/8 上,你可能需要手动安装额外的更新。请尝试:

视频驱动问题

请参阅显示问题

多显示器

如果你收到 LoadLibrary failed with error 126,这可能是因为 Anki 构建所使用的工具包 在多显示器上遇到了问题。

杀毒软件/防火墙软件

你电脑上的第三方软件可能阻止 Anki 加载。你可以尝试将 Anki 添加为例外,或者暂时禁用你的杀毒软件/防火 墙,看看是否有帮助。

管理员权限

一些用户报告说,Anki 在他们右键点击 Anki 图标并选择「以管理员身份运行」之前无法运行。Anki 将其所有数 据存储在用户文件夹中,通常不需要管理员权限,但如果你已经尝试了其他方法,可以试试这个。

更新后存在多个 Anki 安装

如果更新过程导致你有多个 Anki 安装(例如在 C:\Program Files\AnkiC:\Program Files (x86)\Anki),它们可能处于不可用状态,而 Anki 可能拒绝启动且不显示任何错误消息。

你可以尝试卸载所有版本 - 你可以通过 Windows 的「应用和功能」设置菜单,或在每个 Anki 程序文件夹中运行 uninstall.exe 来做到这一点。然后,再次安装 Anki。

调试

从终端启动 Anki 可能会揭示更多关于某些错误的信息。在安装最新的 Anki 版本并确保所有 Windows 更新安装 后,不要直接运行 Anki,使用「开始>运行」,并键入 cmd.exe。当控制台窗口出现时,输入

cd \program files\anki & anki-console

推测 Anki 将像之前一样无法打开,但可能会揭示导致问题的原因。

如果一切都失败

如果在尝试上述解决方法后仍无法启动 Anki,你还有两个选择:

  • 你可以尝试从 Python 运行
  • 你可以尝试使用旧工具包构建的旧版 Anki,如 2.1.35-alternate 和 2.1.15。

Windows 显示问题

原 文:Display Issues - Anki Manual (ankiweb.net)

在 Windows 上,有三种内容显示在屏幕上的方式。默认是 software,它比较慢, 但兼容性最强。另有两种更 快的选项:OpenGLANGLE。它们速度更快,但可能不能正常工作, 或者可能导致如菜单栏缺失、窗口空白 等显示问题。哪一种效果最好取决于你的电脑。

是否及如何更改此显示方法取决于你使用的 Anki 版本,更具体地说,取决于使用的 Qt 工具包 版本。

Qt5

此工具包用于所有 2.1.50 之前的 Anki 版本。这里,显示驱动可以通过工具>首选项菜单进行调整。确保在调整 后重启 Anki。

如果你无法打开 Anki 的首选项界面,重启 Anki 几次也没用,可能需要手动调整图形驱动。你可以通过启动 cmd.exe 并输入以下命令来完成:

echo auto > %APPDATA%\Anki2\gldriver

它不会输出任何信息。然后,你可以再次启动 Anki。

默认是 software;你可以尝试的其他两个驱动是 angleauto

Qt6

Anki 2.1.50+ 提供了更先进的 Qt6 工具包。新工具包默认启用了图形加速。如果你遇到显示问题,可以尝试通过 命令行切换到 software 模式:

echo software > %APPDATA%\Anki2\gldriver6

或者通过 PowerShell:

echo software > $env:APPDATA\Anki2\gldriver6

它不会输出任何信息。然后,你可以再次启动 Anki。

要恢复默认行为,将 software 改为 auto,或者删除该文件。

在 Anki 23.10+ 中,你也可以从首选项界面中更改图形驱动。

全屏

Anki 2.1.50+ 带有全屏模式,但由于各种问题,使用 OpenGL 时必须禁用它。按照上述描述开启软件渲染后, 可以使用全屏选项,但请注意渲染性能可能会下降。

在 Anki 23.10+ 中,全屏模式默认支持使用 Direct3D 驱动。

复制和粘贴问题

原 文:Copy and Paste Issues - Anki Manual (ankiweb.net)

如果你在复制和粘贴时遇到问题,请检查你的电脑上是否运行了其他监视剪贴板的程序,例如词典程序、剪贴板管 理器或剪辑工具。Anki 使用的工具包在这些程序运行时可能会出现问题。

文字大小

原 文:Text Size - Anki Manual (ankiweb.net)

如果你发现文字大小不合适,可以尝试以下两个环境变量:

  • ANKI_NOHIGHDPI=1 会关闭部分 Qt 的高 DPI 支持

  • ANKI_WEBSCALE=1 会改变 Anki 的网页视图比例(比如牌组列表、学习界面等),但保留菜单栏等界面元素不 变。将 1 替换为所需的比例,例如 1.5 或 0.75。

在 Windows 上,你可以将这些添加到一个批处理文件中,以便于启动 Anki。例如,在桌面上创建一个名为 startanki.bat 的文件,内容如下:

set ANKI_WEBSCALE=0.75
start "Anki" "C:\Program Files\Anki\anki"

保存后,你可以双击该文件以使用该设置启动 Anki。

Windows 权限问题

原 文:Permission Problems - Anki Manual (ankiweb.net)

权限问题

如果你收到「拒绝访问」的信息,可能是由于 Anki 的某些文件被设置为只读模式,导致 Anki 无法写入这些文 件。要解决这个问题,你可以执行以下操作:

  • 在开始栏的搜索区域输入 cmd.exe 并按回车键
  • 在打开的窗口中,输入以下命令并按回车键查看你的用户名:

whoami

  • 输入以下命令,在每行命令后按回车键,并用你从上一个命令中获得的用户名替换 ____(并保持 :F 部分 不变)

cd %APPDATA%

icacls Anki2 /grant ____:F /t

这些命令应该能修复 Anki 数据文件夹的权限,现在你应该可以启动程序了。

防病毒软件/防火墙/反恶意软件

有一些用户遇到了由他们计算机上安装的安全软件引起的「权限拒绝」或「只读」错误。你可能需要为 Anki 添加 一个例外,或者尝试暂时禁用软件以排除其为问题根源。有用户报告说,仅仅关闭软件并不能解决问题,他们要么 需要为 Anki 添加例外,要么卸载该软件。

调试权限问题

如果在你排除了防病毒及相关程序的问题后,执行了上述权限修复步骤,并且没有使用 OneDrive 的情况下,问题 仍然存在,请在 cmd.exe 中运行以下命令,并在每条命令后按回车键。

whoami

cd %APPDATA%

icacls Anki2 /t

接着请复制粘贴或截屏显示的内容,并将其附在我们的支持票单中发给我们。

macOS

原文:macOS - Anki Manual (ankiweb.net)

在 macOS 上安装和升级 Anki

关于如何在 macOS 上安装或升级 Anki 的说明,请参阅:

问题

如果你在安装或启动 Anki 时遇到任何问题,请参阅目录中的小节。

在 macOS 上安装和升级 Anki

原 文:Install & Upgrade - Anki Manual (ankiweb.net)

要求

新版 Anki 需要运行 macOS 10.13.4 或更高版本的 Mac。

支持 macOS 10.10 到 10.13.3 的最后一个 Anki 版本 是 Anki 2.1.35-alternate。如果你使用较旧的机 器,可以从发布页获取旧版本。

安装

  1. https://apps.ankiweb.net 下载 Anki。请参见下一节了解如何在 -qt5 和 -qt6 之间进行选择。
  2. 将文件保存到桌面或下载文件夹。
  3. 打开它,然后将 Anki 拖动到应用程序文件夹或桌面。
  4. 在放置 Anki 的位置双击它。

Qt5 vs. Qt6

新版本的 Anki 有单独的 Qt5 和 Qt6 变体。对于大多数用户,推荐使用 Qt6 版本。

Qt6 版本的优点:

  • 对新款 Apple Silicon Mac 的原生支持(更快,更好的电池寿命)。
  • 各种漏洞修复,包括更好地支持不常见的语言。
  • 安全更新。Qt5 库的支持在 2020 年 11 月被终止,这意味着自那以后发现的任何安全漏洞将不会被修复。

Qt6 版本的缺点:

  • 不能再使用标签页窗口(例如在全屏幕时)。
  • 一些 Mac 用户报告说 Intel Qt5 版本对他们来说更快且更可靠。
  • 一些插件目前仅适用于 Qt5 版本。

升级

要升级,关闭 Anki(如果它已打开),然后按照上述步骤操作。将 Anki 图标拖放到之前存放它的同一位置,然 后在系统提示时覆盖旧版本。你的卡片数据将会保留。

Homebrew

Homebrew 用户可以通过 brew install --cask anki 在他们喜好的终端应用中安装 Anki。

升级可以通过 brew upgrade 完成,卸载可使用:brew uninstall --cask anki

插件兼容性

某些插件可能不总是与最新的 Anki 版本兼容。如果你升级到最新的 Anki 版本后发现有不可或缺的插件无法工 作,你可以从发布页下载旧版本的Anki。

问题

如果在安装或启动 Anki 时遇到任何问题,请参见:

macOS 上的显示问题

原 文:Display Issues - Anki Manual (ankiweb.net)

Qt6 视频驱动

如果你在 Anki 23.10+ 上遇到显示问题或崩溃,可以尝试在首选项界面中更改视频驱动,然后重启 Anki。

旧版本的 Anki 没有在首选项中提供这个选项,但允许你通过打开终端.app,然后粘贴以下内容并点击回车来调整 驱动:

echo software > ~/Library/Application\ Support/Anki2/gldriver6

它不会输出任何东西。然后你可以重新启动 Anki。

如果你希望切换回默认设置,将 software 更改为 auto,或者删除该文件。

外接 GPU

如果在 Mac 上使用外接显卡时遇到空白界面问题,你可以按住 ctrl 键并点击 Anki 应用,选择「显示简介」, 然后启用「优先使用外接 GPU」选项。

不同分辨率的显示器

请查看这个论坛帖子

Linux

原文:Linux - Anki Manual (ankiweb.net)

在 Linux 上安装与升级 Anki

有关如何在 Linux 上安装或升级 Anki 的说明,请参见:

问题

如果在安装或启动 Anki 时遇到任何问题,请参见目录中的子部分。

在 Linux 上安装和升级 Anki

原 文:Install & Upgrade - Anki Manual (ankiweb.net)

要求

封装版本要求近期的 64 位 Intel/AMD Linux,同样需要 glibc 和一些通用库,如 libwayland-client 和 systemd。如果你使用的是不同的架构(例如 ARM/AArch64),或是一个精简的 Linux 发行版,你将无法使用封装 版本,但你可以尝试使用 Python wheels

Debian 及其衍生版本,例如 Ubuntu 和启用 Linux 的 Chromebook,请在安装前使用 以下命令:

sudo apt install libxcb-xinerama0 libxcb-cursor0 libnss3

如果安装后 Anki 无法启动,你可能缺少其他库

如果你在 Ubuntu 24.04 上无法启动 Anki,请参 见本主题

Anki 的构建系统仅支持 glibc,因此目前不支持基于 musl 的发行版。

安装

安装 Anki 的步骤:

  1. https://apps.ankiweb.net 下载 Anki 到你的 Downloads 文件夹。有关如何在 -qt5 和 -qt6 之间进行 选择,请参见下一节。
  2. 如果你的系统上尚未安装 zstd,请安装它(例如 sudo apt install zstd)。
  3. 打开终端并运行以下命令,根据需要替换文件名。
tar xaf Downloads/anki-2XXX-linux-qt6.tar.zst
cd anki-2XXX-linux-qt6
sudo ./install.sh

在某些 Linux 系统上,你可能需要使用 tar xaf --use-compress-program=unzstd

  1. 然后,你可以通过输入「anki」并按回车键来启动 Anki。如果遇到任何问题,请参见左侧的链接。

Qt5 与 Qt6

近期的 Anki 版本有 Qt5 和 Qt6 两个变体。对于大多数用户,推荐使用 Qt6 版本。

Qt6 版本的优点:

  • 兼容近期的 glibc 版本(修复近期发行版上的空屏问题)。
  • 更好的 HiDPI 支持。
  • 更好的 Wayland 支持。
  • 各种错误修复,包括更好地支持不常见语言等。
  • 安全更新。Qt5 库的支持已于 2020 年 11 月停止,意味着自那时起发现的任何安全漏洞都将得不到修复。

Qt6 版本的缺点包括:

  • 一些插件目前仅在 Qt5 版本上可用。

升级

如果你过去是从 .deb/.rpm 等安装 Anki,请确保在安装此处提供的封装包之前删除系统版本。

如果你是从之前的封装包升级,只需重复安装步骤,即可升级到最新版本。你的用户数据将会被保留。

如果你希望降级到先前的版本,请确保你先进行降级

插件兼容性

某些插件可能不总是与最新的 Anki 版本兼容。如果你升级到最新的 Anki 版本并发现你不能没有的插件停止工 作,你可以从发布页面下载旧版本的Anki。

问题

如果在安装或启动 Anki 时遇到任何问题,请参见以下页面:

缺少库

原 文:Missing Libraries - Anki Manual (ankiweb.net)

如果 Anki 无法启动,请在终端中使用 anki 运行它。如果它提示缺少库,请安装该库并重试。

如果它提示没有可用的平台,请使用以下命令行启动 Anki,这应该会显示缺少的库:

QT_DEBUG_PLUGINS=1 anki

用 apt-get 或类似工具安装库后,重复该过程。在安装所有所需的库之前,你可能需要这样做几次。

在 Linux 上的显示问题

原 文:Display Issues - Anki Manual (ankiweb.net)

Qt5

硬件加速默认是关闭的。在首选项界面中启用它并重启 Anki 可能会让 Anki 的界面响应更加灵敏,但有些用户在 启用时可能会遇到菜单栏缺失、窗口空白或崩溃的问题。(窗口空白也可能由 这个问题引 起。)

你可以在 Anki 的首选项界面中调整显示驱动。我们建议你尝试两种设置,看看哪一种对你最合适。

如果你无法打开 Anki,可以在终端中通过将 autosoftware 写入 ~/.local/share/Anki2/gldriver 来 调整驱动。请注意,如果你使用的是 nouveau,它已知有一些问题,而且只支持软件模式。

Qt6

硬件加速默认是开启的。如果你遇到空白界面或显示问题,可以尝试使用终端启用软件渲染:

echo software > ~/.local/share/Anki2/gldriver6

如果你希望切换回默认设置,将 software 改为 auto,或删除该文件。

在 Anki 23.10+ 版本中,你还可以从首选项界面中更换图形驱动。

空白主窗口

原 文:Blank Main Window - Anki Manual (ankiweb.net)

一些 Linux 发行版最近更新了 glibc。最新版本破坏了 Anki 所基于的 web 工具包,导致 Anki 的主窗口显示为 空白。

有两种方法可以解决这个问题:

  1. 安装使用更新工具包的最新 Qt6 版本的 Anki:

https://apps.ankiweb.net

  1. 使用以下帖子中发布的解决方案之一:

各 Linux 发行版分发的软件包

原 文:Linux Distro Packages - Anki Manual (ankiweb.net)

我们发现,由 Linux 发行版分发的 Anki 自定义版本导致了许多问题:

  • Anki 依赖于像 Qt 这样的第三方库,Linux 发行版经常在未测试这些更改影响的情况下替换不同版本的这些 库。
  • 有时,他们分发的 Anki 版本是多年前的版本,或者是并不适合稳定发行的 alpha/beta 版本。发行版通常也会 禁用内置的更新检查,以防止你收到新版本的通知。

https://apps.ankiweb.net 可下载到 Anki 的已编译构建版本。大多数必要的库都已包含其中,并且 Anki 已经过测试可以与这些版本的库一起正常使用。如果你在使用发行版的版本时遇到问题,你应该首先尝试切换到我 们提供的最新打包版本。

如果你愿意,当然可以继续使用发行版的 Anki 版本。但如果遇到任何问题,你需要向发行版的软件包维护人员报 告。

Anki 在 Gnome/Linux 上未应用 GTK 主题

原 文:Incorrect GTK Theme - Anki Manual (ankiweb.net)

你可以通过明确告诉 Anki GTK 主题是什么来解决这个问题。在终端中运行以下命令:

theme=$(gsettings get org.gnome.desktop.interface gtk-theme)
echo "gtk-theme-name=$theme" >> ~/.gtkrc-2.0
echo "export GTK2_RC_FILES=$HOME/.gtkrc-2.0" >> ~/.profile

然后注销并重新登录你的计算机,Anki 应该就能应用 GTK 主题了。

Wayland

原文:Wayland - Anki Manual (ankiweb.net)

从 Anki 2.1.48 开始,你可以通过在启动 Anki 之前定义 ANKI_WAYLAND=1 来强制 Anki 使用 Wayland。Wayland 可能会在多个显示器上为你提供更好的渲染效果,但由于以下问题,目前它默认是关闭的:

  • 在某些发行版上,窗口会被渲染得没有边框。
  • 无法将窗口置于前面,例如,点击添加以显示现有的添加卡片窗口将不起作用。

Linux 上的输入法

原 文:Input Methods - Anki Manual (ankiweb.net)

Fcitx

标准的 Anki 版本包含了 fcitx 支持,但它可能无法在所有发行版上正常工作。如果你无法使用 fcitx,你可以 考虑通过 Python wheels 运行 Anki。

入门

原文:Getting Started - Anki Manual (ankiweb.net)

安装与升级

请查看适合你计算机的安装指南:

视频

想快速了解 Anki,请查看这些简介视频。有些视频是用旧版 Anki 制作的,但概念相同。

如果你所在国家无法访问 YouTube,可 以下载视频

关键概念

卡片

问答对被称为「卡片」。这基于纸质抽认卡,一面是问题,另一面是答案。在 Anki 中,卡片并不是真正的卡片, 当你显示答案时,默认情况下题目仍然可见。例如,如果你在学习基础化学,你可能会看到这样的问题:

问:氧气的化学符号?

思考后,你认为答案是 O,点击显示答案按钮,Anki 会显示:

问:氧气的化学符号?
答:O

确认答案正确后,你可以告诉 Anki 你记住的程度,然后 Anki 会决定下次何时再显示给你。

卡片状态

  • 新卡片:新卡片是你下载或输入的卡片,但从未学习过。

  • 学习中:最近第一次看到的卡片,尚在学习中。

  • 复习中:之前学过,现在需要复习的卡片,防止遗忘。复习卡片还可以分为两类:

    • 欠熟练:欠熟练卡片的间隔小于 21 天,但不在学习中。

    • 已熟练:已熟练卡片的间隔为 21 天或更长。

  • 重学中:复习模式下失败的卡片,返回学习模式以重新学习。

牌组

「牌组」是一组卡片。你可以将卡片放入不同的牌组中,以便部分学习你的卡片集合,而不是一次性学习所有内 容。每个牌组可以有不同的设置,例如每天显示多少新卡片,或卡片再次显示的等待时间。

牌组可以包含其他牌组,这使你可以将牌组组织成树状结构。Anki 使用「::」表示不同级别。名为「中文::汉 字」的牌组指的是一个「汉字」牌组,是「中文」牌组的一部分。如果你选择「汉字」,那么只显示汉字卡片;如 果你选择「中文」,那么包括汉字卡在内的所有中文卡片都会显示。

要将牌组放入树中,你可以在每个级别之间用「::」命名,或者从牌组列表中拖放牌组。嵌套在另一个牌组下的牌 组(即名称中至少有一个「::」)通常称为「子牌组」,顶级牌组有时称为「超级牌组」或「父牌组」。

Anki 的起始牌组名为「系统默认」;任何与其他牌组分离的卡片都将进入这里。如果该默认牌组中没有卡片,且 你已添加其他牌组,Anki 会隐藏该牌组。或者,你可以重命名此牌组,并将其用于其他卡片。

牌组按字母顺序在牌组列表中显示。如果你的牌组包含数字,这可能导致出乎意料的顺序 - 例如,「我的牌组 10」会在「我的牌组 9」之前,因为 1 在 9 之前。如果你希望对牌组编号,可以在单个数字前加一个「0」,例 如「牌组 01」、「牌组 02」……「牌组 10」。

牌组最好用于广泛类别的卡片,而不是像「食物动词」或「第一课」这样的特定主题。有关更多信息,请参阅 适当使用牌组部分。

有关牌组如何影响卡片显示顺序的信息,请参阅显示顺序部分。

笔记与字段

制作抽认卡时,通常希望制作多个与某些信息相关的卡片。例如,如果你正在学习法语,并了解到单词 「bonjour」意味着「你好」,你可能希望创建一张显示「bonjour」并要求你记住「你好」的卡片,以及另一张显 示「你好」并要求你记住「bonjour」的卡片。一张卡片测试你识别外语单词的能力,另一张卡片测试你产生单词 的能力。

使用纸质抽认卡时,你只有一种选择,即为每张卡片重复写信息。一些电脑抽认卡程序通过提供翻转正面和背面的 功能使生活更轻松。这比纸质情况有所改进,但存在两个主要缺点:

  • 由于此类程序不会分别跟踪你对识别和生产的表现,卡片往往不会在最佳时机展示给你,这意味着比你期望的更 容易忘记,或者学习的内容超过必要。

  • 反转问题和答案仅在你想在每一面上具有完全相同内容时有效。这意味着无法在每张卡片的背面显示额外信息, 例如。

Anki 通过允许你将卡片的内容拆分为独立的信息片段来解决这些问题。然后,你可以告诉 Anki 你希望在每张卡 片上显示哪些信息片段,Anki 将负责为你创建卡片,如果你以后有任何修改,它会相应更新卡片。

假设我们想学习法语词汇,并希望在每张卡片的背面包含页码。我们希望我们的卡片看起来像这样:

问:Bonjour
答:你好
   页码 #12

以及:

问:你好
答:Bonjour
   页码 #12

在此示例中,我们有三个相关的信息:一个法语单词,一个汉语含义和一个页码。如果我们将它们组合在一起,它 们看起来像这样:

法语:Bonjour
汉语:你好
页码:12

在 Anki 中,这些相关的信息称为「笔记」,每个信息片段称为「字段」。因此,我们可以说这个笔记模板有三个 字段:法语,汉语和页码。

要添加和编辑字段,请在添加或编辑笔记时点击「字段…​」按钮。有关字段的更多信息,请参阅 自定义字段部分。

卡片模板

为了让 Anki 基于我们的笔记创建卡片,我们需要给它一份蓝图,说明每张卡片的正背面应显示哪些字段。此蓝图 被称为「卡片模板」。每种笔记模板可以有一个或多个卡片模板;当你添加笔记时,Anki 将为每个卡片模板创建 一张卡片。

每个卡片模板有两个「内容模板」,一个用于题目,一个用于答案。在前述的法语示例中,我们希望识别卡片看起 来像这样:

问:Bonjour
答:你好
   页码 #12

为此,我们可以将题目和答案模板设置为:

问:{{法语}}
答:{{汉语}}<br>
   页码 #{{页码}}

通过将字段名称用双大括号括起来,我们告诉 Anki 用字段中的实际信息替换该部分。未用大括号括起来的内容在 每张卡片上保持不变。(例如,在添加材料时,我们不必在页码字段中键入「页码 #」——它会自动添加到每张卡 片。)<br> 是一个特殊的代码,告诉 Anki 换行;有关更多细节,请参阅模板部分。

生成卡片模板的工作方式类似:

问:{{汉语}}
答:{{法语}}<br>
   页码 #{{页码}}

一旦创建了卡片模板,每次你添加新笔记时,都会基于该卡片模板创建一张卡片。卡片模板使得保持卡片格式一致 变得容易,并且能大大减少添加信息所需的工作量。它们还意味着 Anki 可以确保相关卡片不会出现在离得太近的 位置,并允许你一次性修正打字错误或事实错误,所有相关卡片都会同时更新。

要添加和编辑卡片模板,请在添加或编辑笔记时点击「卡片…​」按钮。有关卡片模板的更多信息,请参阅 卡片和模板部分。

笔记模板

Anki 允许你为不同的材料创建不同模板的笔记。每种笔记模板都有其自己的字段和卡片模板集。为每个广泛主题 创建单独的笔记模板是个好主意。在前述法语示例中,我们可以为此创建一个名为「法语」的笔记模板。如果我们 想学习首都,可以为此创建一个单独的笔记模板,字段如「国家」和「首都」等。

当 Anki 检查重复项时,它只与同模板的其他笔记进行比较。因此,如果你使用首都笔记模板添加了一个名为「橙 色」的首都,在学习如何用法语说「橙色」时不会出现重复消息。

当你创建新的集合时,Anki 会自动添加一些标准的笔记模板。这些笔记模板便于新用户使用 Anki,但从长远来 看,建议你为所学习的内容定义自己的笔记模板。标准笔记模板如下:

  • 问答题
    具有正面和背面字段,并会创建一张卡片。你输入在前方的文本会出现在卡片正面,输入在背面的文本会出现在 卡片背面。

  • 问答题(同时生成翻转的卡片)
    如问答题,但为你输入的文本创建两张卡片:一张从正面→背面,一张从背面→正面。

  • 问答题(同时生成翻转的卡片<可选>)
    这是一张从正面→背面的卡片,并可选从背面→正面卡片。为此,它有一个名为「增加翻转的卡片」的第三个字 段。如果你在该字段中输入任意文本,就会创建反向卡片。有关这方面的更多信息,请参 阅卡片和模板部分。

  • 问答题(输入答案)
    本质上是问答题,正面有一个额外的文本框,你可以在其中输入答案,翻转到背面后会检查并与答案进行比较。 更多信息请参阅检查答案部分。

  • 填空题
    一种笔记模板,使得轻松选择文字并将其变成填空题(如,「人类在 [...] 年登陆月球」→「人类在 1969 年 登陆月球」)。更多信息请参阅填空题部分。

  • 图片遮盖
    类似于填空题笔记模板,但适用于图像而非文字,这在研究重度依赖图像的材料时尤其有用,如解剖学、地理 等。详细信息请参阅手册的图片遮盖部分。

要添加你自己的笔记模板并修改现有的模板,可以从主 Anki 窗口中使用 工具→管理笔记模板。

笔记和笔记模板是针对你整个集合的,而不是仅限于单个牌组。这意味着你可以在一个特定的牌组中使用许多不同 的笔记模板,或者从一个特定的笔记中在不同的牌组中生成不同的卡片。当你使用添加窗口添加笔记时,你可以选 择要使用的笔记模板和要使用的牌组,这些选择相互之间是完全独立的。你也可以 在笔记创建后更改某些笔记模板。

集合

你的「集合」是存储在 Anki 中的所有材料——你的卡片、笔记、牌组、笔记模板、牌组选项等。

共享牌组

你可以在 YouTube 上观 看关于共享牌组和复习基础的视频。

开始使用 Anki 最简单的方法是下载别人共享的卡片牌组:

  1. 点击牌组列表底部的「获取共享」按钮。

  2. 当你找到感兴趣的牌组时,点击「下载」按钮下载牌组包。

  3. 双击下载的包将其载入 Anki,或者选择「文件→导入」。

请注意,目前还无法将共享牌组直接添加到你的 AnkiWeb 账户。你需要使用桌面程序导入它们,然后同步上传到 AnkiWeb。

创建你自己的牌组是学习复杂主题最有效的方法。像语言和科学这样的科目不仅仅通过记忆事实来理解——它们需要 解释和背景信息来有效学习。此外,自己输入信息迫使你决定哪些是关键点,从而更好地理解内容。

如果你是语言学习者,你可能会想下载一长串单词及其翻译,但这并不会教会你一门语言,就像记忆科学方程不会 教会你天体物理一样。要正确学习,你需要教科书、老师或接触真实的句子。

如果我不理解这个材料,那我不如不学。
——SuperMemo

大多数共享牌组是由那些在 Anki 之外学习资料的人创建的——来自教科书、课程、电视等。他们从所学中选择有趣 的点并将其放入 Anki。他们不会在卡片中添加背景信息或解释,因为他们自己已经理解了材料。因此,当其他人 下载他们的牌组并尝试使用时,会发现非常困难,因为缺少背景信息和解释。

这并不是说共享牌组毫无用处——只是对于复杂的主题,它们应作为外部材料的「补充」而不是「替代」。如果你正 在学习教科书 ABC,而其他人共享了一些来自 ABC 的想法牌组,这将是一个很好的节省时间的方法。对于一些基 本上是事实清单的简单主题,比如首都城市名称或酒吧测验小知识,可能不需要外部材料。但如果尝试在没有外部 材料的情况下学习复杂主题,你可能会得到令人失望的结果。

获取帮助

原文:Getting Help - Anki Manual (ankiweb.net)

问个好问题

除了 AnkiMobile 之外,Anki 及其支持是由慷慨的志愿者免费提供的。请在发帖时牢记这一点——如果你态度粗鲁 而且要求苛刻,或没有努力自行解决问题,别人可能不太愿意帮助你。

请首先尝试自行解决问题:

  • 阅读手册的入门部分,并查看介绍视频。
  • 如果遇到 bug,请遵循这些步骤
  • 使用本页的搜索按钮寻找常见问题。
  • 使用手册中的搜索按钮。
  • 使用论坛中的搜索按钮。
  • 在 Google 上搜索相关问题。

如果尝试了上述方法仍然卡住了,是时候寻求帮助了。发帖时,请清楚详细地说明你遇到的问题。

请避免模糊的问题,比如:

「我的 Anki 不工作了,我该怎么办?」

相反,请提供尽可能多的细节。例如:

「当我双击 Anki 图标时,弹出错误信息。我尝试在 Google 上搜索该错误,但没有找到任何有用的东西。我已 将错误信息复制并粘贴到帖子底部。我按照「出现问题时」页面上的步骤进行了操作,但错误信息仍然存在。我 该怎么办?」

这是一个更好的问题。它告诉我们:

  • 你已经尝试过的解决方案。
  • 问题发生时你采取的步骤。
  • 当事情出错时你得到的是什么问题或错误。

了解这些信息可以更容易地回答你的问题。

用户论坛使用不同于 AnkiWeb 的登录信息,如果是第一次使用,请在那里创建一个账户。

Anki Desktop(电脑版本)和 AnkiWeb

阅读上述部分后,请在用户论坛上发帖寻求帮助。

用户论坛使用不同于 AnkiWeb 的登录信息,如果是第一次使用,请在那里创建一个账户。

AnkiDroid(安卓设备)

请查看 AnkiDroid 的支持页面

AnkiMobile(iPhone/iPad)

请查看 AnkiMobile 的支持页面

私密问题

对于安全报告和业务咨询,你可以在这里提交私密工单。 如果你对 Anki、AnkiWeb 或 AnkiDroid 有问题,请使用用户论坛

学习

原文:Studying - Anki Manual (ankiweb.net)

当你找到了一个喜欢的牌组或者输入了一些笔记后,就可以开始学习了。

牌组

在 Anki 中,学习仅限于当前选择的牌组以及其包含的任何子牌组内。

在牌组界面中,你的牌组和子牌组会以列表形式显 示。今天的新卡片、学习中的卡片和待复习的卡片也会在这里显示。

牌组界面

当你点击一个牌组时,它会成为「当前牌组」,Anki 会切换到学习界面。你可以随时通过点击主窗口顶部的「牌 组」返回牌组列表。(你也可以使用菜单中的「学习牌组」操作从键盘选择一个新的牌组,或者可以按下 s 键来学习当前选择的牌组。)

你可以点击牌组右侧的齿轮按钮来重命名或删除牌组,改变其选项, 或导出它。

学习概览

点击一个牌组进行学习后,你会看到一个显示今天到期卡片数的界面。这称为「牌组概览」界面:

学习概览

卡片分为三种状态:新卡、学习中和待复习。如果你在牌组选项中激活 了搁置关联卡片,你可能会看到有多少卡片将被灰色显示搁置:

学习概览 (被搁置的卡片)

要开始一次学习会话,点击开始学习按钮。Anki 将继续为你展示卡片,直到当天要展示的卡片全部展示完为 止。

在学习期间,你可以按下键盘上的 s 键返回概览。

问题

当一张卡片展示时,最初只会展示问题。在思考答案后,点击显示答案按钮,或者按下空格键。然后会显示答 案。如果你花了一些时间回忆答案,这是可以的,但作为一个一般规则,如果你在大约 10 秒内无法回答,可能最 好跳过并显示答案而不是继续苦思冥想。

当显示答案时,你应该将你想到的答案与显示的答案进行比较,并告诉 Anki 你记忆得有多好。如果你不相信自己 能准确地比较你的答案,可以让 Anki 提示你输入答案而不是仅仅显示答 案给你。

初学/重学卡片

在学习新卡,或重学你已忘记的卡片时,Anki 会一遍或多遍地展示这些卡片以帮助你记忆。每次展示之间的时间 称为「初学间隔」。默认情况下,有两个间隔:1 分钟和 10 分钟。你可以 在牌组选项中更改间隔数量和长度。

当在学习时,有四个评分按钮:

  • 重来会将卡片移回到第一阶段。

  • 困难会重复当前阶段。

    • 如果卡片处在第一阶段(并且只有一个阶段),间隔是初学间隔 1.5 倍。但最多比初学间隔长一天。
    • 如果卡片处在第一阶段并且你设置了多于一个阶段的初学间隔,间隔将是「重来」和「良好」的平均值,即第 一和第二个初学间隔的平均值。
    • 如果卡片处在后续阶段中,「困难」会重复之前的间隔。
  • 良好会将卡片移至下一阶段。如果卡片处在最后一个阶段,卡片将被转换为 复习卡片(它「毕业」了)。默认情况下,一旦卡片达到初学阶段的结束,卡片将在第二天再次展示,然后在越 来越长的间隔后再次展示(见下一节)。

  • 简单立即将卡片转换为复习卡片,即使还有剩余阶段。默认情况下,卡片将 在 4 天后再次展示,然后在越来越长的间隔后再次展示。在 v1 调度器中,如果在重学模式下,则不会显示 「简单」按钮,因为它会给出和「良好」一样的间隔。在 v2 调度器+ 中,当卡片处于重学时,「简单」 按钮会使间隔增加 1 天。

当卡片第一次出现时,它们从第一阶段开始。这意味着第一次在卡片上回答良好时,将在 10 分钟后再显示一 次,并且会跳过第一阶段的 1 分钟间隔。但如果你按下重来,卡片将在 1 分钟后出现。

你可以使用键盘上的 1, 2, 34 键来选择特定的按钮,其中 1重来。按下 空格回车 将选择良好

如果没有其他卡片可以展示,Anki 会再次展示学习卡片,即便它们的间隔还没完全到达。如果你更愿意等待完整 的学习间隔,可以在首选项>复习>提前学习的上限中更改此行为。

复习卡片

当卡片以前学过并准备再次复习时,有四个按钮可以对你的答案进行评分:

  • 重来将你的答案标记为不正确,并要求 Anki 在未来更频繁地展示该卡片。可以说卡片被「遗忘」了。请参 见遗忘部分以获取有关如何处理遗忘的更多信息。

  • 困难在默认情况下,比上次以稍长的间隔展示卡片,并要求 Anki 在未来更频繁地展示卡片。

  • 良好告诉 Anki 上次的间隔大约合适,卡片难度不需要调低或调高。 在默认起始难度下,卡片将在上一次大约 2.5 倍的时间后再次展示,因此如 果你上次等待了 10 天才看到该卡片,则下次的间隔约为 25 天。

  • 简单告诉 Anki 间隔太短。这张卡片将 会被安排在比「良好」更长的间隔后,并且 Anki 将在未来降低安排该 卡片的频率。由于「简单」迅速增加了间隔,最好只用于最简单的卡片。通常情况下,你会发现自己应该回答 「良好」。

如同学习卡片一样,你可以使用键盘上的 1, 2, 34 来选择 答案。按下 空格键回车 将选择良好

参见牌组选项FAQ 以了解更多关于算法如何工作的知 识。

到期计数

当只有问题展示时,Anki 在界面底部显示三个数字,如 6 + 9 + 59。它们代表未学习的卡片(蓝色)、学习中的 卡片(红色)和待复习的卡片(绿色)。如果你不想看到这些数字,可以在 Anki 的首选项中 关闭它们。

到期计数

在 v1 调度器中,这些数字表示完成该队列中所有卡片所需的复习数,而非卡片数。如果你为遗忘卡片配 置了多个重学间隔,数字将在你遗忘一张卡片时增长超过 1,因为那张卡片需要被多次展示。

v2 调度器开始,这些数字表示卡片,所以 无论剩下多少初学/重学间隔,数字总是只会增加 1。

当答案显示时,Anki 在每个按钮上方显示卡片下次展示时间的预测值。如果你更喜欢不看预测值,可以在 Anki 的首选项中禁用它们。

模糊系数

当你在复习卡片上选择一个难度按钮时,Anki 也会应用少量的随机「模糊」以防止同时引入并被赋予相同评分的 卡片黏在一起,总是在同一天进行复习。这种模糊将在 v3 调度器启用时显示在答案按钮上,所以如果你使用 较早的版本并注意到你选择的内容与卡片实际间隔之间有些许差异,这可能是原因。

学习卡片也会有最多 5 分钟的额外间隔,以使它们不总是同样顺序出现,但答案按钮不会反映这一点。无法关闭 此功能。

编辑及更多

你可以点击左下角的编辑按钮来编辑当前笔记。完成编辑后,你将返回学习。编辑界面的工作方式 与添加笔记界面非常相似。

在复习界面的右下角有一个标注为更多的按钮。此按钮提供了一些对当前卡片或笔记的操作:

  • 旗标卡片:为卡片添加一个彩色旗标,或者关闭它。旗标将在学习期间出现,你 可以在浏览界面中搜索标记的卡片。当你想在稍后对卡片执行某些操作时,这很有用,比如回家后查单词。如果 你使用的是 Anki 2.1.45+,也可以从浏览器中重命名标记。

  • 搁置卡片 / 笔记:搁置卡片或该笔记的所有卡片直到第二天。(如果你想在之前取消搁置,可以点 击牌组概览界面上的「取消搁置」按钮。)这在你目前无法回答卡片或想在其他时间 重新考虑它们时很有用。搁置也可以自动发生在同一笔记的卡片。

旧调度器中,如果卡片处于学习中被搁置,它们会在被搁置前移动回到新卡或复习卡队列。

然而,使用 2.1 调度器,搁置卡片并不会重置卡 片的初学/重学间隔。

从 Anki 2.1.50+ 开始,Anki 会记住新卡第一次学习时的原始顺序,当使用 v3 调度器时。「恢复初始位置」选 项允许你在遗忘卡片时将卡片重置回到原来的位置。

启用时,「复习和遗忘次数归零」选项将把卡片的复习和遗忘次数重置为零。它不会删除卡片信息界面底部显示的 复习历史。

  • 设置到期日:将卡片放入复习队列,并使其在特定日期到期

  • 暂停卡片 / 笔记:暂停卡片或该笔记的所有卡片,直到它们被手动解除暂停(通过在浏览器中点击暂停按 钮)。如果你想在一段时间内避免复习该笔记而不是删除它,这很有用。旧调度器中,如果卡片处于学习中被暂 停,它们会在被暂停前移动回到新卡或复习队列。

然而,使用 2.1 调度器,暂停卡片并不会重置卡 片的初学/重学间隔。

  • 选项:编辑当前牌组的选项

  • 卡片信息:显示关于卡片的统计信息

  • 上一张卡片信息:显示关于上一张卡片的统计信息

  • 标记笔记:为当前笔记添加「marked」标签,方便在浏览器中找到。这类似于标 记单张卡片,但使用标签代替。因此,如果笔记有多张卡片,所有卡片在搜索标记标签时都会出现。大多数用户 倾向于使用标记功能。

  • 创建副本:在编辑器中打开当前笔记的一个重复项,可以稍作修改以轻松获取卡 片的变体。默认情况下,重复的卡片将创建在与原始卡片相同的牌组中。

  • 删除笔记:删除笔记及其所有卡片。

  • 重播音频:如果卡片正面或背面有音频,则重播。

  • 暂停音频:如果音频正在播放,暂停它。

  • 音频快退 5 秒 / 快进 5 秒:向后 / 向前跳跃当前播放音频 5 秒。

  • 录制自己的声音:通过麦克风录音以检查自己的发音。此录音是临时的,当你移动到下张卡片时将消失。如 果想要永远添加音频到卡片中,可以在编辑窗口中进行。

  • 重播自己的声音:重播你自己声音的上一段录音(可能是在显示答案后)。

显示顺序

学习将显示来自所选牌组及其包含的任何牌组的卡片。因此,如果你选择你的「法语」牌组,子牌组「法语::词 汇」和「法语::我的教材::第一课」也会显示。

Anki 从牌组中抽取卡片的方式取决于使用的算法:

  • 使用 v1 调度器时,当一个牌组有子牌组时,卡片会轮流出现在每个牌组中。

  • 使用 v2 调度器时,当一个牌组有子牌组时,复 习内容同时从所有子牌组中抽取。子牌组的复习限制被忽略——仅适用于你点击的牌组的限制。

  • 使用 v3 调度器时,每个子牌组的限制也被执行,你 不需要按牌组顺序查看卡片。有关详细信息,请参见手册中 的牌组选项部分。

默认情况下,对于新卡片,Anki 按字母顺序从牌组中获取卡片。因此,在上述示例中,你将首先从「法语」中获 取卡片,然后是「我的教材」,最后是「词汇」。你可以利用这一点来控制卡片显示的顺序,将优先级高的卡片放 置在列表中较高的牌组中。当计算机按字母顺序对文本进行排序时,“-” 字符位于字母字符之前,“~” 位于之 后。因此,你可以将牌组称为「-词汇」以使其首先出现,并将另一牌组称为「~我的教材」以使其在所有其他内 容之后出现。

新卡片和复习卡片是分开抽取的,Anki 在继续到下一个牌组之前不会等待两个队列都为空,因此可能会在看到一 个牌组的复习时接触到另一个牌组的新卡片,反之亦然。如果不想这样,直接点击想要学习的牌组而不是父牌组之 一。

由于学习中的卡片在时间上比较紧迫,它们会从所有牌组中一次性提取,并按到期顺序显示。

要控制给定牌组中复习显示的顺序,或将新卡片从有序更改为随机顺序,请参见牌组选项。 对于新卡片的更细粒度排序,你可以在浏览中更改顺序。

关联卡片与搁置

回顾基础知识,Anki 可以为你输入的每个项创建多张卡片,例如正面→背面卡片和背面→ 正面卡片,或者从同一文本中两张不同的填空题。这些相关的卡片称为「关联卡片」。

当你回答一张有关联卡片的卡片时,Anki 可以通过自动「搁置」它们防止这些卡片在同一个会话中显示。搁置的 卡片在时钟转到新的一天之前或你手动通过「取消搁置」按钮(可见于牌组概览界面底 部)取消搁置之前将不会显示。即使关联卡片不在同一牌组中,Anki 也会搁置它们(例如,如果你使用 了覆盖牌组功能)。

你可以在牌组选项界面中启用搁置 - 新卡片和复习卡片有独立的设置。

Anki 只会搁置新卡片或复习卡片的关联卡片,不会搁置正在学习中的卡片,因为对这些卡片来说,时间至关重 要。另一方面,当你学习一张正在学习中的卡片时,任何未学习的关联卡片和复习中的关联卡片都会被搁置。

请注意,从 v2 调度器开始,Anki 现在区分手动 搁置和自动搁置的卡片,以便你可以取消搁置一组而不影响另一组。

还要注意,一张卡片不能同时被搁置和暂停。暂停被搁置的卡片会取消搁置它。搁置已暂停的卡片在 Anki 2.1.49+ 上不起作用,而在早期版本中,它会取消暂停卡片。

快捷键

Anki 中的大多数常见操作都有快捷键。它们中的大多数可以在界面中找到:菜单项在其旁边列出了快捷键,将鼠 标光标悬停在某个按钮上通常会在工具提示中显示其快捷键。

学习时,空格回车 可以显示答案。当答案显示时,可以使用 空格回车 选择「良好」按钮。你可以使用 1-4 键选择特定的评分按钮。许多人 发现,用 空格 回答大多数卡片,然后将一根手指放在 1 上,以备遗忘时使用很方便。

工具菜单中的「学习牌组」项可以让你快速通过键盘切换到某个牌组。可以使用「/」键触发它。打开时,它将显 示你所有的牌组,并在顶部显示一个筛选区域。输入字符时,Anki 会仅显示与你输入的字符匹配的牌组。可以添 加空格以分隔多个搜索词,Anki 将仅显示匹配所有词的牌组。因此,「ja 1」或「on1 ja」将匹配名为 「Japanese::Lesson1」的牌组。

落后进度

如果在复习中落后进度,Anki 会优先处理等待时间最长的卡片。它这样做是通过取等待时间最长的卡片,并以随 机顺序将它们显示给你,直到达到你的每日复习限制。这种排序确保没有卡片会无限期等待,但这意味着如果引入 新卡片,它们的复习不会出现,直到你已处理完积压的卡片。

如果希望更改过期复习的顺序,可以通过创建一个筛选牌组实现。

当你回答已经过期很久的卡片时,Anki 会在确定下一次应该显示该卡片的时间点时考虑到这种过期。更多信息请 参见 Anki 的间隔重复算法部分。

添加/编辑

原文:Adding/Editing - Anki Manual (ankiweb.net)

添加卡片和笔记

回顾一下基础知识,在 Anki 中,我们添加的是笔记而不是卡片,Anki 会为我们创建卡 片。点击主窗口中的「添加」,将会出现添加笔记窗口。

添加界面

窗口的左上角显示了当前的笔记模板。如果不是「问答题」,那么你可能在下 载共享牌组时添加了一些笔记模板。下面的文本假定你已经选择了「问答题」。

窗口的右上角显示了将要添加卡片的牌组。如果你想要将卡片添加到一个新的牌 组,可以点击牌组名称按钮,再点击「添加」。

在笔记模板下方,你会看到一些按钮,以及标有「正面」和「背面」的区域。正面和背面被称 为字段,你可以点击上方的「字段…​」按钮来添加、移除和重命名这些字 段。

字段下面是另一个标有「标签」的区域。标签是你可以附加到笔记上的标签,以便更容易组织和查找笔记。如 果愿意,可以将标签留空,或者添加一个或多个。标签由空格分隔。如果标签区域显示

vocab check_with_tutor

…那么你添加的笔记将有两个标签。

当你在正面和背面输入文本时,你可以点击「添加」按钮,或按下 Ctrl+回车(在 Mac 上为 Command+回车),将笔记添加到你的集合中。当你这样做时,也会创建一张卡片, 并将其放入你选择的牌组中。如果你想编辑添加的卡片,可以点击历史按钮,在浏览器中搜索最 近添加的卡片。

有关笔记模板和字段之间按钮的更多信息,请参见编辑器部分。

重复检查

Anki 检查第一个字段的唯一性,因此如果你输入了两个正面字段为「apple」的卡片,它会给出警告。唯一性检查 仅限于当前笔记模板,因此如果你正在学习多种语言,只要每种语言有不同的笔记模板,两个正面字段相同的卡片 不会被列为重复项。

由于效率问题,Anki 不会自动检查其他字段的重复,但浏览器有一个「查找重复」功能,你可以定期运行它。

有效学习

不同的人喜欢用不同的复习方式,但有一些通用的理念需要留意。一篇很好的介绍性文章是 SuperMemo 网站上 的这篇文章。特别指出:

  • 保持简单:你的卡片越短,复习起来就越容易。你可能会因为「以防万一」而想要在卡片上涵盖大量信息, 但随后的复习很快就会痛苦起来。

  • 理解后再记忆:如果你正在学习一门语言,尽量避免记忆超大的单词表。学习语言的最佳方式是在语境中学 习,即看到这些单词如何用于句子中。同样,想象一下你在学习计算机课程。如果你试图记住大量的缩写词,你 会发现很难取得进展。但如果你花时间去理解缩写词背后的概念,学习缩写词就会变得容易得多。

添加笔记模板

虽然基本的笔记模板足以满足每侧只有一个单词或短语的简单卡片,但当你想在正面或背面包括多于一个信息时, 最好将这些信息分成更多字段。

你可能会想「但我只想要一张卡片,为什么不能只在正面字段中包括音频、图片、提示和翻译?」如果你更喜欢这 样做,那也可以。但这种方法的缺点是所有信息都粘在一起。如果你想根据提示对卡片排序,就做不了了,因为它 与其他内容混在一起。你也无法做诸如将音频从正面移动到背面等操作,只能通过逐个复制和粘贴每张笔记来完 成。通过将内容保存在单独的字段中,你将来调整卡片布局时会更轻松。

要创建一种新的笔记模板,请从 Anki 的主窗口中点击「工具→管理笔记模板」。然后点击「添加」,添加一种新 的笔记模板。现在会看到另一个界面,它让你选择基于哪种笔记模板创建新模板。「添加」是指基于 Anki 自带的 模板创建。「复制」是指基于你集合中已经存在的模板创建。例如,如果你已经创建了法语词汇模板,你可能想在 创建德语词汇模板时复制那个。

选择确定后,你将被要求为新模板命名。与正在学习的主题材料有关的名称是不错的选择,比如「日语」、「琐 事」等。一旦你选择了名称,关闭笔记模板窗口,你将回到添加窗口。

自定义字段

要自定义字段,请在添加或编辑笔记时点击「字段…​」按钮,或在管理笔记模板窗口中选中笔记模板时点击。

字段

点击相应的按钮可以添加、移除或重命名字段。要更改字段在此对话框和添加笔记对话框中出现的顺序,可以使用 重新定位按钮,该按钮询问你希望字段有的数值顺序。如果你想要更改字段为新的第一个字段,输入「1」。

不要使用 Tags、Type、Deck、Card 或 FrontSide 作为字段名,因为它们 是特殊字段且无法正常工作。

窗口底部的选项允许你编辑添加和编辑卡片时将使用的字段的各种属性。这不是自定义卡片在复习时显示内容 的地方;要实现此目的,请查看模板

  • 编辑界面字体允许你自定义编辑笔记时使用的字体和大小。这在你想要缩小不重要的信息,或增大难以阅读 的外文字符时很有用。你在此处进行的更改不会影响卡片在复习时的显示:要做到这一点,请参见 模板部分。不过,如果你启用了「输入答案」功能,你输入的文本将使用这里定义的字 体大小。(有关如何更改输入答案时使用的实际字体样式的信息,请参 见检查答案部分。)

  • 作为浏览器中的排序字段​告诉 Anki 在浏览器的排序字段列中显示此字段。你可以使用此字段按该字段对 卡片进行排序。一次只能有一个字段为排序字段。

  • 文字方向从有至左如果你正在学习从右到左(RTL)展示文本的语言,如阿拉伯语或希伯来语,这个设置很 有用。目前该设置仅控制编辑;要确保文本在复习时正确显示,你需要调整你 的模板

  • 默认使用 HTML 编辑器:如果你更喜欢直接在 HTML 中编辑字段,这会很有用。

  • 默认折叠:字段可以折叠/展开。动画可在首选项中禁用。

  • 排除未限定条件的搜索(较慢):可用于希望某个字段的内容不在不限 定(不限于特定字段)的搜索结果中出现时。

在添加字段后,你可能想要将它们添加到卡片的正面或背面。更多信息请参见模板部分。

更改牌组/笔记模板

在添加期间,你可以点击左上角的按钮更改笔记模板,点击右上角的按钮更改牌组。打开的窗口不仅允许你选择牌 组或笔记模板,还可以添加新牌组或管理你的笔记模板。

组织内容

适当地使用牌组

牌组旨在将你的内容分为想要分别学习的广泛类别,如英语、地理等。你可能倾向 于创建许多小牌组以保持内容有序,比如「我的地理书第 1 章」或「食物动词」,但不推荐这样做,原因如下:

  • 许多小牌组可能会导致你以可识别的顺序看到卡片。在较旧的计划任务版本中,新卡只能按牌组顺序引入。如果 你计划依次点击每个牌组(这样速度很慢),你会同时看到所有「第 1 章」或「食物动词」的复习。这使得回 答卡片变得更容易,因为你可以从上下文中猜测,从而导致记忆力减弱。当你在 Anki 之外需要回忆单词或短语 时,你并不总有机会先看到相关内容!

  • 虽然这个问题比以前的 Anki 版本要小,但添加数百个牌组可能会导致减速,而拥有数千项目的非常大的牌组树 实际上可能会在 2.1.50 之前的 Anki 版本中破坏牌组列表的显示。

使用标签

与创建许多小牌组相比,使用标签和/或字段分类内容是一个更好的主意。标签是一种有效提升搜索结果、查找特 定内容和保持集合有序的有用方式。有很多方法可以有效使用标签和标记,提前考虑你希望如何使用它们将帮助你 决定什么对你来说最好。

有些人更喜欢使用牌组和子牌组整理他们的卡片,但对于此目的使用标签相比牌组有一个很大的优势:你可以为单 个笔记添加多个标签,但单张卡片只能属于一个牌组,这使标签在大多数情况下成为比牌组更强大和灵活的分类系 统。你也可以将标签组织成树,就像为牌组一样

例如,与其创建一个「食物动词」牌组,不如将这些卡片添加到你的主要语言学习牌组,并用「食物」和「动词」 标记这些卡片。由于每张卡可以有多个标签,你可以做诸如搜索所有动 词、所有与食物相关的词汇、或所有与食物相关的动词这样的事情。

你可以从编辑窗口和浏览器中添加标签,也可以在其中添加、删除、重命名或组织标签。请注 意,标签在笔记级别工作,这意味着当你为有关联卡片的卡片加上标签时, 所有关联卡片都会被加上标签。如果你需要为单张卡片加标签,而不影响其关联卡片,你应该考虑使用旗标代替。

使用旗标

旗标类似于标签,但会在复习界面的右上角中显示旗标的小图标。你还可以在浏览界面中搜索被旗标标记的卡片、 从浏览器中重命名旗标,以及从被旗标标记的卡片创建筛选牌组,但与标签不同的是,一张卡片在同一时间只能有 一个旗标。另一个重要的区别是旗标作用于卡片级别,因此用旗标标记一张卡片不 会影响其关联卡片。

你可以在复习模式中直接旗标 / 取消旗标卡片(在 Windows 上按 CTRL + 1-7 或在 Mac 上按 CMD + 1-7)以及从浏览器中进行操作。

「标记」标签

Anki 对名为「marked」的标签有特别处理。在复习界面和浏览界面中有选项可以添加或移除「marked」标签。当 当前卡片的笔记含有该标签时,复习界面会显示一个星号。而当笔记被标记时,卡片会在浏览界面中以不同的颜色 显示。

注意:标记主要是为了兼容早期的 Anki 版本;大多数用户会更倾向于使用旗标

使用字段

对于喜欢保持非常有条理的人,你可以在笔记中添加字段以分类你的内容,例如「书籍」、「页码」等等。Anki支 持在特定字段中搜索,这意味着你可以查找 "book:my book" page:63,快速找到你想要的内容。

自定义学习和筛选牌组

使用自定义学习和筛选牌组,你可以根据搜索词创建临时牌组。这允许你大多数时候在单 个牌组中混合复习你的内容(以优化记忆效果),但也可以在需要专注于特定材料时创建临时牌组,例如考试前。 一般原则是如果你总是希望能单独学习某些内容,它应该在一个普通牌组中;如果你只偶尔需要单独学习(如测试 下、积压时等),那么从标签、旗标、标记或字段创建的筛选牌组会更好。

编辑功能

添加笔记时、在复习时编辑笔记,或在浏览时会显示编辑器。

编辑器图标

左上角有两个按钮,可以打开字段卡片窗口。

右侧是控制格式的按钮。粗体、斜体和下划线的工作方式与文字处理程序相同。接下来的两个按钮允许你下标或上 标文本,对化学式如 H2O 或简单的数学公式如 x2 很有用。再接下来,有两个按钮允许 你更改文本颜色。

橡皮擦按钮会清除所选文本上所有格式化的内容 — 包括文本的颜色,以及所选文本是否为粗体等。接下来的三个 按钮允许创建列表、文本对齐和文本缩进。

你可以使用回形针按钮从电脑的硬盘中选择音频、图像和视频,将它们附加到你的笔记中。或者,你可以将媒体复 制到电脑的剪贴板上(例如,通过在网页上右键单击图像并选择「复制图像」),然后将其粘贴进你想要放置的字 段中。有关媒体的更多信息,请参见媒体部分。

麦克风图标允许你从电脑的麦克风录音,并将录音附加到笔记中。

Fx 按钮显示添加 MathJax 或 LaTeX 到笔记中的快捷方式。

当选择填空题笔记模板时,[…] 按钮是可见的。

挖空图标

</> 按钮允许编辑字段的底层 HTML。

HTML 图标

Anki 2.1.45+ 支持直接从编辑界面调整固定字段。如果你点击字段右侧的别针图标,Anki 将不会在添加笔记后清 除字段的内容。如果你发现自己在多条笔记中输入相同内容,你可能会发现此功能有用。在以前的 Anki 版本中, 固定字段需要在字段界面中的开启。

别针图标

大多数按钮都有快捷键。你可以将鼠标指针悬停在按钮上以查看其快捷键。

粘贴文本时,Anki 默认会保留大部分格式。如果在粘贴时按住 Shift 键,Anki 会去掉大多数格式。 你可以在首选项中打开或关闭「若粘贴时未按住 Shift 键,则清除文本格式」以修改默认行为。

填空题

「填空题」指的是隐藏句子中的一个或多个词语的过程。例如,如果你这么一条句子:

堪培拉成立于 1913 年

……然后你在「1913 年」上创建一个填空题,则句子将变为:

堪培拉成立于 [...]

有时以这种方式挖空的部分被称为「遮罩」。

为什么你可能想要使用填空题的更多信息,请参见 这里的 规则 5。

Anki 提供了一种特殊的填空题笔记模板,以便于挖空。要创建一个填空题笔记,选择填空题笔记模板,并在「文 本」字段中输入一些文本。然后拖动鼠标选择要挖空的文本,并点击 […] 按钮。Anki 将用以下内容替换文本:

堪培拉成立于 {{c1::1913 年}}

「c1」部分表示你在这个句子上创建了一个挖空。你可以创建多个挖空,如果你愿意。例如,如果你选择堪培拉并 再次点击 […],则文本现在看起来像这样:

{{c2::堪培拉}}成立于 {{c1::1913 年}}

当你添加上述笔记时,Anki 将创建两张卡片。第一张卡片将显示:

堪培拉成立于 [...]

……在问题上,完整的句子在答案上。另一张卡片在问题上有以下内容:

[...]成立于 1913 年

你还可以在同一张卡片上挖多个空。在上面的例子中,如果你将 c2 改为 c1,将只创建一张卡片,同时挖空堪培 拉和 1913 年。如果在挖空时按住 Alt (在 Mac 上为 Option),Anki 将自动使用相同的 编号而不递增。

挖空不需要在单词的边界上进行,因此如果你选择「培拉」而不是「堪培拉」,问题将显示为「堪[…​]成立于 1913 年」,给你一个提示。

你也可以给自己提示不匹配的文本。如果你用以下句子替换原句:

堪培拉::城市成立于 1913 年

……然后在选中「堪培拉::城市」后按下 […​],Anki 会将冒号后面的文本视为提示,将其更改为:

{{c1::堪培拉::城市}}成立于 1913 年

当卡片出现复习时,它将显示为:

[城市]成立于 1913 年

有关测试你正确输入填空题答案的方法,请参见输入答案部分。

从版本 2.1.56 开始,支持嵌套挖空。例如,以下是有效的:

{{c1::堪培拉{{c2::成立}}}}于 1913 年

内部挖空完全嵌套在外部挖空中。不支持部分重叠,例如:

[...]立于 1913 年-> 堪培拉成
堪培拉[...]于 1913 年-> 成立

其中「成」出现在两个挖空中。

在 2.1.56 版本之前,如果你需要从重叠文本中挖空,先添加另一个文本字段到填空 题模板中,然后在创建笔记时,将文本粘贴到两个独立的字段中,如下所示:

文本 1 字段:{{c1::堪培拉成立}}于 1913 年

文本 2 字段:{{c2::堪培拉}}成立于 1913 年

默认的填空题笔记模板有一个名为「额外」的第二个字段,显示在每张卡片的答案侧。它可用于添加一些使用说明 或额外信息。

填空题笔记模板被 Anki 特殊处理,并不能基于普通笔记模板创建。如果你希望自定义它,请确保复制现有的填空 模板,而不是其他笔记模板。格式之类的东西可以自定义,但不能向填空题笔记模板添加额外的卡片模板。

图片遮盖

Anki 23.10+ 原生支持图片遮盖(Image Occlusion)卡片。图片遮盖笔记是基于图像的填空题的特殊情况,允许 你创建卡片,隐藏图像的某些部分,测试你对隐藏信息的知识。

图片遮盖

添加图像

要将图片遮盖卡片添加到你的集合中,打开添加界面,点击「模板」,从内置笔记模板列表中选择「图片遮盖」。 然后,点击「选择图像」以加载保存于电脑硬盘上的图像文件,或点击「从剪贴板粘贴图像」如果你已将图像复制 到剪贴板上。

添加图片遮盖卡片

加载图像后,图片遮盖编辑器将打开。点击左侧的图标,向图像添加所需数量的区域。有三个基本形状可供选择:

  • 长方形
  • 椭圆形
  • 多边形

你还可以为每个笔记选择两种不同的图片遮盖模式:

  • 隐藏全部,猜测一个:所有区域都被隐藏,同时仅显示一个区域进行学习。
  • 隐藏一个,猜测一个:每次仅隐藏一个区域,并将在学习时显示。其他区域将可见。

图片遮盖模式

完成后,点击窗口底部的「添加」按钮。Anki 会为你在上一步添加的每个形状或形状组添加一张卡片,你可以开 始正常复习。

编辑图片遮盖笔记

你可以通过在复习时点击「编辑」或直接从浏览器中编辑你的图片遮盖笔记。这里有几个工具供你使用。值得注意 的有:

  • 选择:它允许你选择一个或多个形状以移动、调整大小、删除或分组它们。
  • 缩放:你可以自由移动图像并使用鼠标滚轮放大或缩小。
  • 形状(矩形、椭圆形或多边形):使用它们添加新的形状 / 卡片。
  • 文本:它将文本区域添加到图像中。这些文本区域可以移动、调整大小或删除,但使用此工具时不会创建卡片。
  • 撤销 / 重做。
  • 放大 / 缩小 - 重置缩放。
  • 切换透明度:使用此工具临时查看隐藏区域。
  • 删除:使用此工具删除所选形状和文本区域。请注意,删除形状不会自动删除其关联的卡片;你需要之后使用 「工具>清理空卡片…」,正如常规填空题一样。
  • 复制。
  • 分组选定:使用此工具创建一个形状簇,允许你同时移动、调整大小或删除它们。请注意,一旦分组,两个或两 个以上的单一形状将只创建一张卡片。
  • 解组选定:选择一个组,然后点击此按钮以使每个形状再次独立。
  • 对齐:此工具可用于根据需要对齐你的形状 / 文本区域。

在复习图片遮盖卡片时,「切换遮罩」按钮会出现在图像正下方。当使用「隐藏所有,猜一个」模式时,这个按钮 会临时清除笔记的所有形状。

输入外语字符和重音符

所有现代计算机都内置支持输入重音符和外语字符,并提供多种方法。我们推荐的方法是使用你想学语言的键盘布 局。

具有独立字符集的语言,如日语、中文、泰语等,有它们专有的布局。欧洲语言中使用重音符号的语言可能有自己 的布局,不过通常可以在一般的「国际键盘」布局上输入。这种输入方法是先键入重音符号,然后输入你想要标重 音的字符,例如,先输入省略号 (') 再输入字母 a (a),这样就得到 á。

要在 Windows 系统上添加国际键盘,请参见 https://thegeekpage.com/how-to-add-us-international-keyboard-in-windows-10/

要在 Mac 上添加,请参见 http://www.macworld.com/article/1147039/os-x/accentinput.html

特定语言的键盘添加方式类似,但我们无法在此全部覆盖。更多信息请尝试在 Google 上搜索「input Japanese on a mac」、「type Chinese on Windows 10」等等。

如果你正在学习一种从右到左书写的语言,需要考虑更多因素。请参 见此页面获取更多信息。

Anki 所构建的工具包在处理某些输入法时有困难,比如在 macOS 上按住按键选择重音字符,或者在 Windows 上 按住 Alt 键并输入数字代码来输入字符。

Unicode 正规化

á 这样的文本可以在计算机上以多种方式表示,例如使用该符号的特定代码,或者使用标准的 a 并加上另 一个重音符的代码。这在合并来自不同来源的输入或使用不同计算机时会导致问题——如果你的计算机以一种形式处 理键盘输入,但内容以不同形式存储,尽管最终结果看起来相同,但在搜索时将无法匹配。

为了确保内容可以轻松地在搜索中找到,Anki 会将文本规范化为标准形式。对大多数用户来说,这个过程是透明 的,但如果你在学习某些特定材料,比如古日文符号,这个正规化过程可能会将它们转换为更现代的等价物。

如果你希望保留字符变体,可以在调试控制台中执行以下操作来关闭正规化:

mw.col.conf["normalize_note_text"] = False

在此之后添加的任何内容将保持不变。权衡之下,如果你在不同操作系统之间切换,或从混合来源粘贴内容,可能 会发现难以搜索这些内容。

卡片模板

原文:Card Templates - Anki Manual (ankiweb.net)

卡片模板告诉 Anki 哪些字段应出现在卡片的正面和背面,并控制某些字段中有文本时会生成哪些卡片。通过调整 卡片模板,你可以同时更改多张卡片的设计和样式。

一些入门视频中介绍了卡片模板:

模板界面

你可以通过点击编辑界面中的「卡片…」按钮来修改卡片模板。

对于旧版 Anki ,左上方是正面模板,左下方是背面模板,二者之间是卡片样式区域。对于 Anki 2.1.28+ 版本, 正面、背面和样式不再同时显示。你可以使用 Ctrl+1Ctrl+2 以及 Ctrl+3 在它们之间切换。

在 Anki 中,模板是用 HTML 编写的,这是一种用于编写网页的语言。样式区域使用 CSS,这是一种用于设计网页 的语言。

右侧是当前选择的卡片正面和背面的预览。如果你是在添加笔记时打开窗口,预览将基于你在添加笔记窗口中键入 的文本。如果你是在编辑笔记时打开窗口,预览将基于该笔记的内容。如果你是从「工具→管理笔记模板」打开窗 口,Anki 将在没有内容的地方用括号显示每个字段的名称。

窗口的右上角有一个选项按钮,你可以通过这个按钮重命名或重新排列卡片,以及以下两个选项:

  • 「覆盖牌组」选项允许你更改从当前卡片模板生成的卡片所在的牌组。默认情况下,卡片会放入你在添加笔记窗 口中提供的牌组。如果你在此设置了牌组,该卡片模板将放入你指定的牌组,而不是添加笔记窗口中列出的牌 组。这在你希望将卡片分开为不同牌组时很有用(例如,学习一门语言时,将生产卡片放在一个牌组中,而识别 卡片放在另一个牌组中)。你可以再次选择覆盖牌组检查卡片当前将要去的牌组。

  • 「浏览器外观」选项允许你为浏览器的问题和答案列设置不同的(可能是简化的)模板;更多信息请参 见浏览器外观

字段替换

原 文:Field Replacements - Anki Manual (ankiweb.net)

基础替换

最基本的模板看起来是这样的:

{{正面}}

当你把文本放在大括号内时,Anki 会寻找该名称对应的字段,并用字段的实际内容替换文本。

字段名称区分大小写。如果你有一个名为 Front 的字段,写成 {{front}} 是无法正常工作的。

你的模板并不仅限于列出字段。你还可以在模板中包含任意文本。例如,如果你在学习首都城市,并且你创建了一 个包含「国家」字段的笔记模板,你可能会创建一个前面这样的模板:

{{国家}}的首都是?

默认的背面模板会看起来是这样的:

{{FrontSide}}

<hr id=answer>

{{背面}}

这意味着「先显示正面的文本,然后是一条分隔线,再然后是背面字段」。

'id=answer' 部分告诉 Anki 问题和答案之间的分隔线在哪里。这使得 Anki 在你按下「显示答案」时会自动滚动 到答案开始的位置(在移动设备的小屏幕上尤其有用)。如果你不希望在答案开头有水平线,你可以使用其他 HTML 元素,如段落或 div。

换行

卡片模板就像网页,这意味着需要一个特殊的命令才能换行。例如,如果你在模板中写下如下内容:

one
two

在预览中,你实际会看到:

one two

要添加换行,你需要在行末添加 <br> 代码,如下所示:

one<br>
two

br 代码代表「(line) br(eak)」。

同样适用于字段。如果你想显示两个字段,每个字段分别一行:

{{Field 1}}<br>
{{Field 2}}

单个字段的文字转语音

此功能需要 Anki 2.1.20、AnkiMobile 2.0.56 或 AnkiDroid 2.17 及以上。

要让 Anki 以美式英语发音朗读 Front 字段,你可以在卡片模板中这样写:

{{tts en_US:Front}}

在 Windows、macOS 和 iOS 上,Anki 会使用操作系统自带的语音。在 Linux 上,默认没有语音,但可以通过安 装插件提供,例如此插件

若要查看所有可用语言/语音的列表,可以在卡片模板中放置以下内容:

{{tts-voices:}}

如果有多种语音支持你选择的语言,你可以在列表中指定想要的语音,Anki 将选择第一个可用的语音。例如:

{{tts ja_JP voices=Apple_Otoya,Microsoft_Haruka:Field}}

这样在 Apple 设备上使用 Otoya,在 Windows PC 上使用 Haruka。

在某些 TTS 实现中可以指定不同的速度:

{{tts fr_FR speed=0.8:SomeField}}

速度和语音都是可选的,但必须包含语言。

在 Mac 上,你可以自定义可用的语音:

  • 打开「系统设置」界面。

  • 点击「辅助功能」。

  • 点击「讲话」。

  • 点击系统语音下拉菜单,选择「自定义」。

某些语音听起来会比其他更好,请试验以选出你喜欢的。需注意 Siri 语音仅能用于 Apple 应用程序。安装新语 音后,你需要重启 Anki 以便新语音可用。

在 Windows 上,有些像 Cortana 的语音无法选择,因为 Microsoft 不允许其他应用程序使用这些语音。

在填空题笔记模板中,你可以使用 cloze-only 筛选器来让 Anki 只朗读隐藏部分,如下所示:

{{tts en_US:cloze-only:Text}}

cloze-only 筛选器在 Anki 2.1.29+、AnkiMobile 2.0.65+ 及 AnkiDroid 2.17+ 上受支持。

对多个字段和静态文本的文字转语音

此功能需要 Anki 2.1.50+、AnkiMobile 2.0.84+ 或 AnkiDroid 2.17+。

如果你希望 TTS 朗读模板中包含的多个字段或静态文本,你可以这样使用:

[anki:tts lang=en_US] This text should be read. Here is {{Field1}} and {{Field2}}[/anki:tts]

This is other text on the template. It is outside of the tags so it should not be read.

特殊字段

你可以在模板中包含一些特殊字段:

笔记的标签:{{Tags}}

笔记的模板:{{Type}}

卡片的牌组:{{Deck}}

卡片的子牌组:{{Subdeck}}

卡片的旗标:{{CardFlag}}

卡片的模板(「正向」等):{{Card}}

正面模板的内容(仅在背面模板中有效):{{FrontSide}}

FrontSide 不会自动播放卡片正面的任何音频。如果你希望在卡片的正反两面自动播放相同音频,你需要手动在背 面也包含音频字段。

与其他字段一样,特殊字段名称区分大小写——例如,你必须使用 {{Tags}} 而不是 {{tags}}

提示字段

可以在卡片的正面或背面添加一个字段,但默认情况下不会显示,除非你明确显示它。我们称之为「提示字段」。 在添加提示前,请记住在 Anki 中回答一个问题越容易,当你在现实中遇到它时,你记住该问题的可能性就越小。 请在继续之前阅读关于最低信息原则的文章: https://super-memory.com/articles/20rules.htm

首先,如果还没有,你需要添加一个字段来存储提示。如果不确定如何操作,请查 看字段部分。

假设你创建了一个名为 MyField 的字段,你可以告诉 Anki 将其包含在卡片上但默认隐藏,通过在模板中添加以 下内容:

{{hint:MyField}}

这将显示一个标记为「显示提示」的链接;当你点击它时,字段的内容将在卡片上显示。(如果 MyField 为空, 则不会显示任何内容。)

如果你在问题中显示提示,然后揭示答案,提示将再次隐藏。如果你希望在显示答案时总是显示提示,你需要从背 面模板中删除 {{FrontSide}} 并手动添加你希望出现的字段。

目前无法将提示字段用于音频——无论你是否点击提示链接,音频都会播放。

如果你希望自定义外观或行为,你需要自己实现提示字段。我们无法为此提供支持,但以下代码应可作为起步:

{{#Back}}
<a class=hint href="#"
onclick="this.style.display='none';document.getElementById('hint4753594160').style.display='inline-block';return false;">
Show Back</a><div id="hint4753594160" class=hint style="display: none">{{Back}}</div>
{{/Back}}

字典链接

你还可以使用字段替换来创建字典链接。假设你正在学习一门语言,而你喜欢的在线字典允许你通过 URL 搜索文 本,例如:

http://example.com/search?q=myword

你可以通过在模板中这样做来添加自动链接:

{{Expression}}

<a href="http://example.com/search?q={{Expression}}">在字典中查询</a>

上面的模板允许你在复习时通过单击链接来搜索每个笔记的表达。然而这里有一个问题,因此请查看下一部分。

HTML 剥离

像模板一样,字段以 HTML 格式存储。在上面的字典链接示例中,如果表达中包含没有格式的单词「myword」,那 么 HTML 将是相同的:「myword」。但当你在字段中包含格式时,会包括额外的 HTML。如果「myword」被加粗, 实际的 HTML 将是「<b>myword</b>」。

这可能会对字典链接等事情造成问题。在上面的示例中,字典链接最终会是:

<a href="http://example.com/search?q=<b>myword</b>">在字典中查询</a>

链接中的额外字符可能会让字典网站感到困惑,从而可能无法匹配到任何内容。

为了解决这个问题,Anki 提供了在字段替换时剥离格式的能力。如果你在字段名称前加上 text:,Anki 将不包 括任何格式。因此,即使使用格式化文本,字典链接也可以正常工作:

<a href="http://example.com/search?q={{text:Expression}}">在字典中查询</a>

从右到左文本

如果你使用的语言是从右到左书写的,你需要像这样调整模板:

<div dir=rtl>{{FieldThatHasRTLTextInIt}}</div>

注音字符

某些语言通常在文本上方使用注解来显示字符的发音。这些注解称 为注音字符。在日语中,这些称 为假名

在 Anki 中,你可以使用以下语法来显示注音字符:

Text[Ruby]

假设上面的文本写在 MyField 中。默认情况下,如果你只是使用 {{Myfield}},字段将以原样显示。要正确地 将注音字符放置在文本上方,请在模板中使用 furigana 筛选器,如下所示:

{{furigana:MyField}}

以下是一些示例:

原始文本渲染后文本
Text[Ruby]TextRuby
日本語[にほんご]日本語にほんご
世[よ]の 中[なか]なか
世[よ]の中[なか]の中なか (不正确!)

注意第三个示例在「中」字符前有一个空格。这是为了指定注音文本只适用于该字符。如果没有空格,注音文本将 被错误地放置在「の」字符上,如第四个示例所示。

附加注音字符筛选器

除了 furigana 筛选器,你还可以只显示注音文本的某些部分,使用 kanakanji 筛选器。kana 筛选 器只会显示注音文本,而 kanji 筛选器则完全去除注音文本。

原始文本字段筛选器渲染后文本
日本語[にほんご]{{furigana:MyField}}日本語にほんご
日本語[にほんご]{{kana:MyField}}にほんご
日本語[にほんご]{{kanji:MyField}}日本語

这些名称同样来源于日语。术语 kana 代表用于描述单词发音的音节系 统,而术语 kanji 代表其汉字。

媒体和 LaTeX

Anki 不会扫描模板中的媒体引用,因为这样做很慢。这对在模板中包含媒体有一定影响。

静态声音/图像

如果你希望在卡片中包含在每张卡片上相同的图像或声音(例如,公司徽标在每张卡片顶部):

  1. 重命名文件,使其以下划线开头,例如 "_logo.jpg"。下划线告诉 Anki 该文件被模板使用,并在共享牌组时 导出。

  2. 在你的正面或背面模板中添加对媒体的引用,如下:

<img src="_logo.jpg">

字段引用

对字段的媒体引用不受支持。它们在复习期间可能显示,也可能不显示,并且在检查未使用的媒体、导入/导出等 操作中将无法正常工作。无法正常工作的示例:

<img src="{{Expression}}.jpg">

[sound:{{Word}}]

[latex]{{Field 1}}[/latex]

相反,你应该在字段中包含媒体引用。请查看导入部分以获取更多信 息。

检查你的答案

你可以在 YouTube 上观看关于此功能的视频。

检查答案的最简单方法是在卡片添加界面的左上角单击「问答题」,然后选择「问答题(输入答案)」。如果你已 经下载了一个共享牌组,并希望在其中输入答案,你可以修改它的卡片模板。如果它有一个模板像这样:

{{Native Word}}

{{FrontSide}}

<hr id=answer>

{{Foreign Word}}

要输入外语单词并检查是否正确,你需要编辑前面的模板,使其看起来像这样:

{{Native Word}}
{{type:Foreign Word}}

注意,我们在想要比较的字段前添加了 type:。由于 FrontSide 在卡片的背面,输入答案框也会出现在背面。

在复习时,Anki 会显示一个文本框,你可以在其中输入答案,按下 回车 键或者显示答案后,Anki会 向你显示哪里正确,哪里错误。文本框的字体大小将是你为那个字段配置的大小(通过编辑时的「Fields」按 钮)。

这个功能不会改变卡片的答题方式,所以你还是要决定自己记得好不好。

一张卡片只能使用一个输入比较。如果多次添加上述文本,将无效。它也只支持单行,因此不适用于比较包含多行 的字段。

Anki 使用等宽字体进行答案比较,以便「已提供」和「正确」部分对齐。如果你希望为答案比较覆盖字体,你可 以在样式部分的底部放置以下内容:

code#typeans { font-family: "myfontname"; }

这将影响以下用于答案比较的 HTML:

<code id=typeans>...</code>

高级用户可以使用 css 类 typeGoodtypeBadtypeMissed 覆盖默认的输入答案颜色。AnkiMobile支持 typeGoodtypeBad,但不支持 typeMissed

如果希望覆盖输入框的大小而不想在「Fields」对话框中更改字体,可以使用 !important 来覆盖默认的内联样 式,如下所示:

#typeans { font-size: 50px !important; }

还可以为填空题卡片输入答案。为此,请在前后模板中添加 {{type:cloze:Text}},这样背面看起来像这样:

{{cloze:Text}}
{{type:cloze:Text}}
{{Extra}}

注意,由于填空题模板不使用 FrontSide,这必须添加到填空题笔记模板的两边。

如果有多个部分被省略,你可以在文本框中用逗号分隔答案。

在浏览器中的「预览」对话框中不会显示输入答案框。当你复习或在卡片模板窗口中查看预览时,它 们将显示。

ankiweb.net 上复习卡片时,不会显示输入答案框。

卡片生成

原 文:Card Generation - Anki Manual (ankiweb.net)

反向卡片

你可以在 YouTube 上观看有关反向卡片的视频

如果你想创建双向的卡片(例如,「ookii」→「big」和「big」→「ookii」),你有几种选择。最简单的方法是选 择内置的「问答题(同时生成翻转的卡片)」笔记模板。这将生成两张卡片,每个方向一张。

如果你只想为部分材料生成反向卡片(可能你只想花时间学习最重要材料的反向,或者有些卡片反向后不合理), 你可以选择「问答题(同时生成翻转的卡片<可选>)」笔记模板。当你只填写前两个字段时,这种笔记模板只生成 正向卡片;如果你在「增加翻转的卡片」字段中输入内容(如 'y'),Anki 也会生成一张反向卡片。此字段的内 容不会在卡片上显示。

卡片的生成与删除

Anki 不会创建正面空白的卡片。因此,如果「我的字段」为空,并且某张卡的正面模板仅包含该字段,则不会创 建该卡片。

当你编辑先前添加的笔记时,Anki 会自动创建新的卡片,如果这些卡片以前是空白的但现在不再是空白的。然 而,如果你的编辑使一些卡片变为空白状态,Anki 不会立即删除它们,因为这可能导致数据意外丢失。要删除空 卡片,请在主窗口中转到「工具→清理空卡片…」。你将会看到一份空卡片的列表,并有选项删除它们。

由于卡片生成的方式,你无法手动删除单张卡片,因为它们会在笔记下次编辑时被重新创建。相反,你应该使相关 的条件替换字段为空,然后使用空卡片选项。

Anki 在卡片生成时不考虑特殊字段或非字段文本。因此,如果你的正面模板如下所示,当 Country 为空时,不会 生成卡片:

{{Country}} 在地图上的哪里?

选择性卡片生成

有时你可能只想为部分材料生成额外的卡片,比如测试你回忆一组中最重要词汇的能力。你可以通过在笔记中添加 一个额外字段,并在你希望生成额外卡片的笔记中填入一些文本(如 "1")来实现此目的。然后在卡片模板中,你 可以设定卡片的创建取决于该字段是否非空。有关更多信息,请参阅下面的条件替换部分。

条件替换

你可以仅在字段为空或不为空时在卡片上包含某些文本、字段或 HTML。示例:

文本总是显示。

{{#FieldName}}
    当 FieldName 有文本时,只有这个文本显示
{{/FieldName}}

{{^FieldName}}
    当 FieldName 为空时,只有这个文本显示
{{/FieldName}}

现实生活中的一个例子是只有在字段不为空时显示标签:

{{#Tags}}
    标签:{{Tags}}
{{/Tags}}

或者假设你希望在卡片的正面以蓝色显示特定字段,如果背面有额外的笔记(可能有笔记表明你应该花更多时间思 考答案)。你可以按如下方式样式化字段:

{{#Notes}}
    <span style="color:blue;">
{{/Notes}}

{{FieldToFormat}}

{{#Notes}}
    </span>
{{/Notes}}

你也可以使用条件替换来控制生成哪些卡片。这是因为 Anki 不会生成正面为空的卡片。例如,考虑一张正面有两 个字段的卡片:

{{Expression}}
{{Notes}}

通常,如果表达式或笔记字段中有文本,则会生成卡片。如果你只想在表达式不为空时生成卡片,那么你可以将模 板更改为:

{{#Expression}}
    {{Expression}}
    {{Notes}}
{{/Expression}}

如果你想要求两个字段都不为空,则可以使用两个条件替换:

{{#Expression}}
    {{#Notes}}
        {{Expression}}
        {{Notes}}
    {{/Notes}}
{{/Expression}}

请记住,这仅在你将条件替换代码放在卡片的正面时有效;如果你这样做在背面,你只会得到背面为空的卡片。同 样,因为这通过检查正面字段是否为空来工作,确保用条件替换包住「整个」正面是很重要的;例如,以下内容无 法按预期工作:

{{#Expression}}
    {{Expression}}
{{/Expression}}
{{Notes}}

空白背面

卡片生成只查看卡片的正面。例如,如果你有一个正面模板:

{{Field 1}}

和一个背面模板:

{{Field 2}}

那么如果 Field 1 非空,就会生成一张卡片。如果 Field 2 为空,这张卡片依然会被生成,而你将得到一个空白 的背面。

如果你希望避免一个空白的背面,你需要在正面模板上作为条件放置一个必需字段,像这样:

{{#Field 2}}
    {{Field 1}}
{{/Field 2}}

这将确保只有当 Field 2 和 Field 1 都非空时生成卡片。

旧版本 Anki 的限制

以下限制不适用于 Anki 2.1.28+ 和 AnkiMobile 2.0.64+。

旧版本的 Anki 不能使用否定条件用于卡片生成。例如,在 Anki 2.1.28 上,以下内容将在名为 AddIfEmpty 的 字段为空和 Front 非空时添加一张卡片:

{{^AddIfEmpty}}
    {{Front}}
{{/AddIfEmpty}}

在更早的 Anki 版本中,否定条件会被忽略,卡片生成将仅依赖于 Front 是否非空。

在旧版本中混合使用 ANDOR 条件也可能导致问题。例如,以下内容(“如果 A B C非 空则添加卡片”)是可以的:

{{A}}
    {{B}}
{{C}}

以下内容(“如果 A B C 非空则添加卡片”)也是可以的:

{{#A}}
    {{#B}}
        {{#C}}
            {{A}}
        {{/C}}
    {{/B}}
{{/A}}

但是以下内容(“如果 A (B C) 非空则添加卡片”)将无法正常工作:

{{A}}
{{#B}}
    {{#C}}
        {{B}}
    {{/C}}
{/B}}

添加空笔记

当你在 Anki 2.1.28+ 和 AnkiMobile 2.0.64+ 中添加新笔记时,如果卡片模板和笔记字段的组合不会生成任何卡 片,将使用第一个模板创建一个空卡片。这允许你即使内容不完整也可以添加材料,并稍后通过修改材料或模板使 其变为有效。如果你不想保留空笔记,可以使用空卡片功能将其删除。

在旧版本的 Anki 中,如果没有卡片会被生成,Anki 会拒绝添加或导入笔记。

填空题模板

请参阅填空题部分以获取相关信息。

填空题笔记模板的功能与常规笔记模板不同。它没有可自定义的卡片模板数量,而是所有填空题共享一个模板。

如上面卡片生成部分所述,常规卡片的生成取决于一个或多个问题字段是否非空。填空题笔记模板的生成方式不 同:

  • Anki 在正面模板中查找一个或多个填空替换,如 {{cloze:FieldName}}。

  • 然后在 FieldName 字段中查找所有填空引用,如 {{c1::text}}。

  • 对于每个不同的编号,将生成一张卡片。

由于填空题卡片的生成方式不同,{{cloze:...}} 标签不能用于常规笔记模板——只有当用在填空题笔记模板中时, 它们才能正常工作。

条件生成提供了一个特殊字段,以便你检测所呈现的卡片。例如,如果你想在第一个挖空上显示「hint1」字段, 并在第二个挖空上显示「hint2」字段,你可以使用以下模板:

{{cloze:Text}}

{{#c1}}
    {{Hint1}}
{{/c1}}

{{#c2}}
    {{Hint2}}
{{/c2}}

样式与 HTML

原 文:Styling & HTML - Anki Manual (ankiweb.net)

卡片样式

你可以在 YouTube 上观看关于卡片样式的视频。视 频展示的是 Anki 2.0 的界面,但其概念大体相同。

可以通过单击「样式」按钮来访问卡片界面的样式部分,该按钮位于「背面模板」按钮旁边。在该部分,你可以更 改卡片的背景颜色、默认字体、文本对齐方式等。

你可以使用的标准选项有:

font-family
在卡片上使用的字体名称。如果你的字体中有空格,如「MS Unicode」,那么你需要用双引号将字体名称括起来, 就像本句中的示例一样。还可以在一张卡片上使用多个字体;有关详细信息,请参见下文。

font-size
字体的像素大小。更改时,请确保在末尾保留 px。

text-align
文本应对齐在中心、左侧或右侧。

color
文字的颜色。像 bluelightyellow 等简单的颜色名称将有效,或你可以使用 HTML 颜色代码来选择任意颜 色。更多信息请参见此网页

background-color
卡片背景的颜色。

任何 CSS 都可以放置在样式部分 - 高级用户可能希望做一些例如添加背景图片或渐变的操作。如果你想知道如何 实现某种特定的格式,请在网上搜索有关如何在 CSS 中实现它的信息,因为有大量的文档可用。

样式在所有卡片间共享,这意味着当你进行调整时,它将影响该笔记模板的所有卡片。不过,也可以指定特定卡片 的样式。以下示例将在所有卡片上使用黄色背景,除了第一张卡片:

.card {
  background-color: yellow;
}
.card1 {
  background-color: blue;
}

图片调整大小

Anki 默认会缩小图像以适应屏幕。你可以通过添加以下内容来更改此行为,把它放在样式部分的底部(在默认的 .card { ... } 之外):

img {
  max-width: none;
  max-height: none;
}

AnkiDroid 有时 在调整图像以适应屏幕时遇到麻烦。使用 css 设 置最大图像尺寸应该可以解决这个问题,但在 AnkiDroid 2.9 中似乎被忽略了。一个解决方法是将 !important 附加到每个样式指令,例如:

img {
  max-width: 300px !important;
  max-height: 300px !important;
}

如果你尝试更改图像的样式并发现标记卡片时出现的星星受到影响(例如,它变得过大),你可以使用以下内容针 对它:

img#star {
...;
}

你可以通过使用 Chrome 交互式地探索卡片的样式:

https://addon-docs.ankiweb.net/porting2.0.html#webview-changes

Anki 2.1.50+ 原生支持在编辑器中调整图像大小。

字段样式

默认样式适用于整张卡片。你还可以使某些字段或卡片的某部分使用不同的字体、颜色等。这在学习外语时尤其重 要,因为 Anki 有时无法正确显示字符,除非选择了合适的字体。

假设你有一个「Expression」字段,你想给它设置 OSX 泰语字体「Ayuthaya」。假设你的模板已经显示:

What is {{Expression}}?

{{Notes}}

我们需要做的是在我们想要设置样式的文本前后加上一些 HTML。我们将在文本前放置以下内容:

<div class=mystyle1>

然后在其后放置以下内容:

</div>

通过像上面那样包裹文本,我们告诉 Anki 用我们稍后要创建的自定义样式「mystyle1」设置包裹的文本样式。

因此,如果我们希望整个「What is …​?」表达式使用泰语字体,我们会使用:

<div class=mystyle1>What is {{Expression}}?</div>

{{Notes}}

如果我们只希望表达式字段本身使用泰语字体,我们将使用:

What is <div class=mystyle1>{{Expression}}</div>?

{{Notes}}

编辑模板后,我们现在需要转到模板之间的样式部分。在编辑之前,它看起来应该像这样:

.card {
  font-family: arial;
  font-size: 20px;
  text-align: center;
  color: black;
  background-color: white;
}

将你的新样式添加到底部,使其看起来像这样:

.card {
  font-family: arial;
  font-size: 20px;
  text-align: center;
  color: black;
  background-color: white;
}

.mystyle1 {
  font-family: ayuthaya;
}

你可以在样式中包含任何你想要的样式。如果你还想增加字体大小,你可以将 mystyle1 部分更改为:

.mystyle1 {
  font-family: ayuthaya;
  font-size: 30px;
}

也可以将自定义字体与牌组打包,这样你就不需要在计算机或移动设备上安装它们。有关更多信息,请参 阅安装字体部分。

音频重播按钮

当音频或文字转语音包含在你的卡片上时,Anki 会显示可点击的按钮以重播音频。

如果你不希望看到这些按钮,可以在首选项界面中隐藏它们。

你可以在你的卡片样式中自定义它们的外观,例如,将其变小并变色,你可以使用以下内容:

.replay-button svg {
  width: 20px;
  height: 20px;
}
.replay-button svg circle {
  fill: blue;
}
.replay-button svg path {
  stroke: white;
  fill: green;
}

文本方向

如果你使用书写方向从右到左的语言,例如阿拉伯语或希伯来语,你可以在.card部分中添加 CSS 的 direction 属性以便在复习时正确显示:

.card {
  direction: rtl;
}

这会改变整张卡片的方向。你可以通过在一些 HTML 中包装字段参考来仅更改某些字段的方向:

<div dir="rtl">{{Front}}</div>

要在编辑器中更改字段的方向,请参阅编辑部分。

其他 HTML

你的模板可以包含任意 HTML,这意味着所有用于互联网网页的布局可能性也可以用于你的卡片。例如,通过使用 表格,你可以更改布局,使卡片的正面和背面显示在左侧和右侧,而不是顶部和底部。

覆盖 HTML 的所有功能超出了本手册的范围,但如果你想了解更多,有很多不错的 HTML 入门指南可以在网上找 到。

浏览器外观

如果你的卡片模板很复杂,可能难以阅读问题和答案列(称为「正面」和「背面」)在 卡片列表中。「浏览器外观」选项允许你定义一个仅在浏览器中使用的自定义 模板,以便你可以仅包括重要字段,并根据需要更改顺序。语法与标准卡片模板相同。

使用此选项时,如果问题列中的文本在答案列的开始处重复,Anki 只会在问题列中显示文本。例如,如果问题列 文本是「People in Ladakh speak」,而答案是「People in Ladakh speak Ladakhi」,答案列将仅显示 「Ladakhi」,省略其余部分。

平台特定 CSS

Anki 定义了一些特殊的 CSS 类,允许你为不同的平台定义不同的样式。下面的示例显示了如何根据你所在的平台 更改字体:

/* Windows */
.win .example {
  font-family: "Example1";
}
/* macOS */
.mac .example {
  font-family: "Example2";
}
/* Linux 桌面 */
.linux:not(.android) .example {
  font-family: "Example3";
}
/* Linux 桌面和 Android 设备 */
.linux .example {
  font-family: "Example4";
}
/* Android 和 iOS */
.mobile .example {
  font-family: "Example5";
}
/* iOS */
.iphone .example,
.ipad .example {
  font-family: "Example6";
}
/* Android */
.android .example {
  font-family: "Example7";
}

在模板中:

<div class="example">{{Field}}</div>

你也可以使用属性像 .gecko、.opera 和 .ie 来选择在 AnkiWeb 上使用的特定浏览器。详细选项请参阅 http://rafael.adm.br/css_browser_selector/

安装字体

如果你在工作或学校计算机上使用 Anki,或在没有权限安装新字体的情况下,或者在移动设备上使用 Anki,可以 直接将字体添加到 Anki。

要将字体添加到 Anki,必须是 TrueType 格式。TrueType 字体的文件名以 .ttf 结尾,例如「Arial.ttf」。找 到 TrueType 字体后,我们需要将其添加到媒体文件夹中:

  1. 重命名文件,在开头添加下划线,使其变为类似「_arial.ttf」。添加下划线会告知 Anki 这个文件将用于模 板,在检查未使用的媒体时不会删除。

  2. 在计算机的文件浏览器中,转到你的 Anki 文件夹,然后打开名为「User 1」的文件夹(如果 你重命名或添加配置文件,则为你的配置文件名)

  3. 在该文件夹中,你应该看到一个名为 collection.media 的文件夹。将重命名的文件拖动到该文件夹。

之后,我们需要更新模板:

  1. 点击主界面顶部的添加,然后使用左上角的按钮选择要更改的笔记模板。

  2. 点击卡片

  3. 在样式部分,添加以下文本到底部(在最后一个「}」字符之后),用你复制到媒体文件夹中的文件名替换 「_arial.ttf」:

@font-face {
  font-family: myfont;
  src: url("_arial.ttf");
}

仅更改「arial」部分,不要更改「myfont」部分。

之后,你可以选择更改整张卡片的字体,或仅更改某个字段的字体。要更改整张卡片的字体,只需在 .card 部分 找到 font-family: 行并将字体更改为「myfont」。要仅更改特定字段的字体,请参阅上面 的字段样式说明。

请确保文件名完全匹配。如果文件叫做 arial.TTF 而你在卡片模板中写的是 arial.ttf,它将无法工作。

夜间模式

你可以自定义在首选项界面中启用夜间模式时模板的外观。

如果你希望更轻的灰色背景,你可以使用类似以下的样子:

.card.nightMode {
  background-color: #555;
}

如果你有一个 'myclass' 样式,以下内容将在启用夜间模式时以黄色显示文本:

.nightMode .myclass {
  color: yellow;
}

淡入和滚动

Anki 默认会自动滚动到答案。它会查找 id=answer 的 HTML 元素,并滚动到该位置。你可以将 id 放在其他元素 上以调整滚动位置,或删除 id=answer 来关闭滚动。

卡片的正面默认淡入显示。如果你希望调整此延迟,可以在你的正面卡片模板顶部放置以下内容:

<script>
  qFade = 100;
  if (typeof anki !== "undefined") anki.qFade = qFade;
</script>

100(毫秒)是默认值;设置为 0 可禁用淡入。

Javascript

由于 Anki 卡片被视为网页,因此可以通过卡片模板在你的卡片上嵌入一些 Javascript。有关良好的参考,请阅 读此帖子 在论坛上的帖子。

由于 Javascript 是一项高级功能,而且可能出现许多问题, Javascript 功能不提供任何支持或保修。我们 无法提供任何关于编写 Javascript 的帮助,并且无法保证你编写的任何代码在未来的 Anki 更新中无需修改仍能 继续工作。如果你无法自行解决所遇到的任何问题,请避免使用 Javascript。每个 Anki 客户端可能会以不同的 方式实现卡片显示,因此你需要在各个平台上测试这种行为。一些客户端是通过保持一个长时间运行的网页,并在 卡片被复习时动态更新其部分内容来实现的,因此你的 Javascript 需要使用类似 document.getElementById() 的方式来更新文档的各个部分,而不是使用 document.write() 这样的方式。

像 window.alert 这样的函数可能不可用。Anki 会将 javascript 错误写入终端,因此你需 要查看控制台来查看它们。要调试 JavaScript 的相关问题,你可以使用 Chrome 的检查器

检查与错误

原 文:Checks and Errors - Anki Manual (ankiweb.net)

当你保存一个笔记模板或导出一个牌组时,Anki 2.1.45+ 会检查一些常见错误。这些错误会在之后当任何人学习 受影响的卡片时引发问题,因此在你修复这些错误之前,Anki 不会让你继续操作。

基础

在阅读以下内容之前,请参阅关键概念

下面的大多数错误都需要你修改你的笔记模板/卡片模板。要执行此操作:

  • 打开浏览界面,并查看左侧的项目。
  • 找到错误消息中提到的笔记模板。如果需要,你可以使用左上角的搜索栏。
  • 点击笔记模板,以在右侧显示其卡片/笔记。
  • 点击编辑区域顶部的「卡片…」按钮,打开模板界面

特定问题

模板语法错误

这表示你错误地使用了字段替换语法。访问报告中的笔记和卡片模板的 模板界面,查看预览区域以获取更多信息。关于模板问题,还可以参 考更多信息

相同的正面

这表示你将 Anki 配置成了为每个输入创建两个相同的问题。如果你添加了一个新卡片模板而没有对其进行任何调 整,则可能发生这种情况。相同的卡片会加倍你的工作量,并降低 Anki 的调度效率。

要解决此问题,请打开模板界面,并在顶部选择一个重复的。然后使用右上方的按钮删 除所选的卡片模板。这将删除所有使用该卡片模板的重复卡片/笔记。

正面无字段替换

如果你没有在卡片模板的正面中使用字段替换,则从中创建的每张卡片在问题面都会看起来一 样,无论其笔记为何。这样将无法回答卡片,因为你不知道期望的答案是什么。

要解决此问题,请打开模板界面,并点击添加字段按钮,在前面添加一个或多个字段。

填空筛选器在非填空题笔记模板中

填空筛选器(如 {{cloze:Some Field}})只能用于填空题笔记模板,及其复制的模 板。

如果你遇到此错误,可以从模板中移除填空筛选器。

如果有使用该笔记模板但包含填空的笔记,你可以在浏览界面中选择它们,并使用更改笔记模板操作分配它们到一 个标准填空题笔记模板。

旧版本的 Anki 在你尝试在普通笔记模板上使用填空时不会发出警告,但这从来不是一个有意支持的用例。如果你 想将填空与常规卡片结合使用,你可以寻找像 Closet 这样的插件提供一些替代方案。

填空题笔记模板中无填空筛选器

一个填空题笔记模板的正反模板应该有一个填空筛选器。如果缺少,你需要添加回来, 以便 Anki 可以正确创建填空题卡片。

首选项

原文:Preferences - Anki Manual (ankiweb.net)

在 Windows/Linux 上,首选项可以从工具菜单中访问;在 Mac 上,则可以从 Anki 菜单中找到。

外观

通用

语言
更改你的显示语言。你可以在这里帮助改善翻译。

用户界面

主题
深色(夜间)模式会使 Anki 的界面变暗,并使卡片以白色文本显示在黑色背景上。一些卡片模板可能需要修改以 在启用此选项时正常工作 - 更多信息请参见夜间模式样式

从 2.1.50+ 开始,有一个选项可以自动切换到日间或夜间模式。

界面缩放
如果你觉得界面元素太小,可以尝试增大此设置。

重置窗口大小
这将把所有窗口大小和位置重置为默认设置。

显示驱动
Anki 的库需要一个视频驱动来在屏幕上绘制内容。由于不同的硬件和软件配置,适合你设备的驱动可能会有所不 同。ANGLE 和 OpenGL 的性能会比软件选项更好,但在一些系统上可能无法正常工作。在 Mac 上,你几乎总是希 望使用 OpenGL 选项。

注意:如果你使用的是 2.1.50+(Qt6),请查看这个页面

专心

这些选项允许你在复习时去除一些不必要的界面元素。你可以:

  • 隐藏复习时的顶部和底部栏。
  • 启用「极简」模式,使界面更紧凑/不那么花哨。
  • 减少动效,以禁用一些过渡/动画。
  • 在原生样式和 Anki 主题之间切换(仅限于 Mac/Linux)。

复习

排程

次日起点
控制 Anki 何时开始显示第二天的卡片。默认设置为凌晨 4 点以确保如果你在午夜附近学习,你不会在一次会话 中看到两天的卡片。如果你习惯熬夜或者很早起床,你可能需要将其调整为你通常在睡觉的时间。请注意,第二天 的开始时间是相对于你当前的时区的。另请注意,任何跨越日期边界的卡片 将在它们被安排的那天开始时出现,就像复习卡片一样。

提前学习的上限
告诉 Anki 当当前牌组没有任何内容可学习,但有卡片正在学习中时如何处理。默认设置为 20 分钟,告诉 Anki 如果卡片的间隔少于 20 分钟并且没有其他事情要做,则应提前显示这些卡片。如果你将此设置为 0,Anki 将始 终等待完整的间隔,直到剩余卡片准备好复习时才显示庆祝页面。

时间盒时间限制
时间盒是帮助你通过将较长的活动(如 30 分钟的学习会话)分成较小的块来集中注意力的一种技术。如果你将时 间盒时间限制设置为一个非零的分钟数,Anki 将定期向你展示在规定的时间限制内你能够学习多少卡片。

复习

在有音频的卡片上显示播放按钮
在复习界面中,对于有音频的卡片是否显示可点击的(重)播放按钮。

回答卡片时停止播放当前音频
在回答卡片时,是否应停止当前正在播放的音频文件。

显示剩余卡片数量
禁用此选项以隐藏窗口底部的卡片计数。

在回答按钮上显示下次复习时间
这有助于了解你的卡片将被推到多远的未来。

空格键(或回车键)用于评估卡片
定义按压空格键(或回车键)是否也回答卡片。

编辑

编辑

以 PNG 格式粘贴图片
默认情况下,Anki 会将剪贴板上的图像粘贴为 JPG 文件,以节省磁盘空间。你可以使用此选项以 PNG 格式粘 贴,PNG 格式支持透明背景且无损,但文件大小通常较大。

若粘贴时未按住 Shift 键,则清除文本格式
默认情况下,粘贴时格式如粗体和颜色会被保留,除非按住 Shift 键。此选项会反转这一行为。

默认牌组
控制笔记模板和牌组如何交互。默认的「添加时,默认为当前牌组」意味着 Anki 会保存每个牌组的最后使用的笔 记模板,并在你下次选择该牌组时再次选择它(此外,选择从任何地方添加时将从当前牌组开始选择)。另一选 项,「根据笔记模板更改牌组」,会保存每种笔记模板的最后使用的牌组(并在你选择添加时打开到最后使用的笔 记模板)。如果你总是为每个牌组使用单一的笔记模板,这可能更方便。

最后使用的牌组/笔记模板在你添加卡片时会更新。如果你更改牌组并在未添加卡片的情况下关闭添加窗口,它不 会被保存。

浏览

默认搜索文本
允许你自定义浏览器中的起始搜索文本(例如,以「deck:current」开始)。

搜索时忽略重音(速度较慢)
启用后,简单的文本搜索将自动忽略重音

导入/导出

遗留导入/导出处理
如果启用,将使用遗留(2.1.55 之前)导入/导出代码。建议停用此选项。

同步

此选项卡包含与 AnkiWeb 同步相关的选项。

同步

同时同步音频和图片
启用后,媒体也将与 AnkiWeb 同步。

账户启动和关闭时自动同步
如果你不想在打开/关闭配置文件时自动与 AnkiWeb 同步,请禁用此选项。

定期同步媒体文件

在下次同步时,强制单向覆盖
启用此选项后,下次同步时会询问你是否希望上传或下载。这个选项在你不小心做出了一些更改,并希望用 AnkiWeb 上的旧版本覆盖它们时很有用。

AnkiWeb 帐户

登录后,点击注销将会登出。

自托管同步服务器

有关自定义同步服务器选项的信息,请参见此部分

备份

请参见手册的部分。

牌组选项

原文:Deck Options - Anki Manual (ankiweb.net)

牌组选项主要控制 Anki 安排卡片的方式。建议你在开始调整选项之前,先用几周时间使用默认选项来了解 Anki 的运作方式。请务必在更改选项之前理解它们,因为错误的操作可能会降低 Anki 的效果。

牌组选项的访问方式:

  • 在「牌组」界面上点击齿轮图标。
  • 在「牌组」界面上选择一个牌组,然后点击界面底部的「选项」。
  • 在复习模式下点击「更多」>「选项」。
  • 在复习模式下按下 o 键。

本页介绍了 Anki 2.1.45+ 版本中,当你启用了 v2 或 v3 排程器时显示的选项。在旧版本中,部分选项将不可 用,或显示在其他部分。请注意,v1 排程器在 Anki 2.1.50+ 中不再支持。如果你尚未更新到 v2 或 v3,尝试在 2.1.50+ 版本中复习卡片时会提示你进行更新。

有关牌组选项的更多信息,请查看:

预设

Anki 允许你在不同牌组之间共享选项,从而可以轻松地在多个牌组中一次性更新选项。为此,选项被分组为预 设。默认情况下,所有新创建的牌组使用相同的预设。

如果你希望更改一个牌组的设置而不影响其他牌组,请在牌组选项窗口的右上角点击箭头图标。选项包括:

  • 保存:保存自打开牌组选项界面以来的所有修改。
  • 新增:添加一个带有默认选项的新预设。
  • 复制:复制一份当前的预设,这对于希望修改某些选项而保持其他选项不变时很有用。
  • 重命名:更改当前预设的名称。
  • 删除:删除当前预设。这将要求下一次同步为单向同步。
  • 保存至所有子牌组:像保存一样,但也将所选预设分配给当前选择牌组的所有子牌组。
  • 优化所有预设:当启用了 FSRS 时,可以一次性优化所有预设的参数。

牌组选项不是追溯的。例如,如果你更改了控制卡片遗忘后间隔的选项,更改之前遗忘的卡片将保持旧的间隔,而 不是新的。

子牌组

如果你的牌组有子牌组,则每个牌组可以选择分配不同的预设。当 Anki 显示一张卡片时,它将检查卡片所在的子 牌组,并使用该牌组的选项。有一些例外:

  • 每日新卡片和复习卡片的限制根据你选择的排程器版本不同而有所不同。
  • v3 排程器中的显示顺序选项取自你选择学习的牌组,而不是当前卡片的牌组。

例如,假设你有如下集合:

- 牌组 A(预设 1)
  - 牌组 A::子牌组 B(预设 2)
    - 卡片 B1
    - 卡片 B2

预设 1 和预设 2 是相同的,除了两个例外:

  • 预设 1:
    • 新卡片 - 初学间隔:1m 10m
    • 显示顺序 - 新/复习优先:与复习混合
  • 预设 2:
    • 新卡片 - 初学间隔:20m 2h
    • 显示顺序 - 新/复习优先:复习后显示

如果你选择学习牌组 A:

  • 所有新卡片的初学间隔为 1m 10m(适用预设 1)
  • 所有新卡片与复习卡片混合(适用预设 1)

如果你选择学习子牌组 B:

  • 所有新卡片的初学间隔为 20m 2h(适用预设 2)
  • 所有新卡片将在复习后显示(适用预设 2)

每日上限

每日新学卡片的上限

控制每次打开程序时介绍多少新卡片。如果你学习的卡片少于限制,或者错过了一天,第二天的数量将恢复到你的 限制值——它们不会累积。

当牌组嵌套时(例如:父级,父级::子级,父级::子级::孙级),限制的应用方式取决于你选择的排程器版本。

  • v1 将父级限制应用于子级,不管你点击哪个牌组
  • v2 对新卡片的行为类似于 v1。对于复习卡片,则仅尊重你点击的牌组的限制。
  • v3 尊重你点击的牌组的限制以及它内部的所有牌组的限制。超出你点击牌组之上的父级牌组的限制将被忽略。

有关更多信息,请参见 v3 排程器页 面。

学习新卡片将暂时提高你每天需要的复习次数,因为刚学到的材料需要重复几次才能显著增加重复间隔。如果你一 直每天学习 20 张新卡片,预计每天的复习量大约为 200 张卡片/天。通过每天引入更少的新卡片,或者在复习负 担减轻之前关闭新卡片显示,可以减少所需的复习次数。不止一个 Anki 用户在使用程序的最初几天兴奋地学习了 数百张新卡片,之后在复习要求面前感到力不从心。

每日复习卡片的上限

允许你设置每日显示的复习卡片的上限。达到此限制后,即使还有等待的复习卡片,Anki 当天也不会再显示更多 复习卡片。如果你能保持一致地学习,这个设置可以帮助平滑偶尔由于卡片到期而出现的高峰,可以在离开 Anki 一周后返回时避免心跳加速。当因此选项隐藏了复习卡片时,祝贺页面上会显示信息,建议你有时间时考虑增加这 个限制。

v3 排程器和v1 排程器中,计数受父 /所选牌组的影响,与新卡片相同。

在 v2 排程器中,仅从你选择的牌组获取限制 - 它的父级或子牌组的任何限制都被忽略。

v3 排程器将间隔 1 天或以上的学习卡片包括在复习计数中,因此这些学习卡片将受每日上限的限制。

新卡片不受复习卡片上限影响

如果使用 v3 排程器,请记住,新卡片 的数量默认受复习卡片的数量限制。如果你的复习限制设置为 200,而你有 190 次复习等候,最多会引入 10 张 新卡片。如果你的复习限制已经达到,将不会显示新的卡片。如果你有复习积压,还能希望引入新卡片,可以通过 暂停复习或增加复习限制来实现。也就是说,建议在赶上进度之前暂停新卡片的引入,因为在积压时添加更多的新 卡片只会让积压变得更糟。

从 Anki 2.1.61 开始,这个功能是可选的,你可以从牌组选项界面上全局停用它。

使用顶层牌组的上限

从 2.1.55 版本开始,可以对不同的牌组/子牌组使用相同的预设,并为每个牌组定制化限制。这消除了仅为设置 目标而需要创建复制预设的必要,使你在拥有许多嵌套牌组时更轻松地为子牌组设置自定义限制。

选项包括:

  • 预设配置:与使用此预设的所有牌组共享限制。
  • 当前牌组:限制特定于此牌组。
  • 仅限今日:临时更改此牌组的限制。

新卡片

本节中的设置仅影响新卡片和初始学习模式中的卡片。一旦卡片毕业(即此卡片没 有更多初学间隔),它就成为一张复习卡片,本节中的设置不再适用。

初学间隔

控制学习重复的次数和它们之间的间隔。必须输入一个或多个用空格分隔的间隔。每次你在复习中按「良好」,卡 片就进入下一阶段。

例如,假设你的初学间隔是 1m 10m 1d

  • 当你按「重来」时,卡片返回到第一阶段,并将在大约 1 分钟后再次显示。
  • 当你在新卡片或答案为「重来」的卡片上按「良好」时,它将进入下一阶段,大约 10 分钟后再次显示。
  • 当你在 10 分钟间隔对应的阶段中按下卡片上的「良好」,它将在第二天再次显示。
  • 当你第二天在卡片上按下「良好」时,它将离开学习(即毕业),变为复习卡片。它将在由毕业间隔配置的 间隔后再次显示。

如果没有其他内容可学习,Anki 默认将提前最多 20 分钟显示卡片。提前查看的时间量可以在 首选项中配置。

有关初学间隔的工作原理的更多信息,请参阅学习部分。

日界线

Anki 以不同方式处理短初学间隔和跨日界线的初学间隔。对于短初学间隔,卡片在间 隔一过就立即显示,优先于其他等待的卡片(如复习)。这样做是为了让你尽量在请求的间隔后回答卡片。相反, 如果间隔跨越日界线,则自动转换为天。

毕业间隔

在学习卡片没有初学间隔剩下时按下「良好」后,学卡片的间隔天数,以及作为复习卡片再次看到它的时间。这意 味着这是学习卡片成为复习卡片后的第一个间隔。请参见上一节的示例。

简单间隔

在学习卡片上按下「简单」的间隔,以及第一次在复习模式中看到它的时间。

「简单」按钮立即将学习卡片变为复习卡片,并为其分配已配置的间隔。它应该始终至少与毕业间隔一样长, 通常还要多几天。

插入位置

控制 Anki 应该以随机或按顺序将新卡片加入牌组。当你更改此选项时,Anki 将使用当前选项组重新排序牌组。 在默认情况下,具有较低到期号的卡片将在学习时首先显示。更改此选项将自动更新新卡片的现有位置。

随机顺序模式有一个缺陷:如果你复习了许多新卡片,然后添加更多新卡片,新加入的材料在统计上很可能比已经 在牌组中的新卡片更早出现。例如,如果你有 100 张卡片处于随机顺序,然后复习了前 50 张,新加入的卡片仍 会被赋予位置 1-100,但因为你已经复习了前 50 张,所以新加入的卡片更可能较早出现。为了解决这个问题,可 以将顺序更改为顺序模式,然后再次更改为随机模式以强制重新排序。

当你选择随机顺序时,Anki 将随机化你的笔记,保持给定笔记的卡片靠近在一起。给定笔记的卡片按照它们卡片 模板出现的顺序显示,这样才能一致地引入关联卡片 - 否则你会遇到某些笔记的所有卡片被引入,而其他笔记仅 引入一张或两张的情况。更多信息请参见下文的「搁置关联卡片」和「显示顺序」部分。

遗忘

当你忘记复习卡片时,该卡片被称为「遗忘」,必须重学。默认情况下,对于遗忘的卡片,间隔会重置为 1(即到 期日为明天),并在 10 分钟后放入学习队列进行复习。可以通过下面列出的选项自定义此行为。

重学间隔

与「初学间隔」相同,但用于已遗忘的复习。失败卡片(按下「重来」)进入重学阶段,在它再次变成复习卡片之 前,你必须通过所有重新初学间隔,或者在卡片上按下「简单」。

如果你留空重学间隔,卡片将跳过重学,并被分配一个新的复习间隔。

最小间隔

指定卡片完成重学后,至少应等待多少天。默认为一天,意味着重学完成后,第二天就会再次显示。

记忆难点

控制 Anki 如何处理记忆难点。请查看记忆难点部分以获得更多信息。

显示顺序

此部分的选项取自你选择学习的牌组,而不是当前显示卡片的牌组。

此部分仅在启用 v3 调度器时可用。

关于显示顺序的更多信息可在学习部分找到。

新卡片抽取顺序

控制 Anki 如何从每个子牌组中收集卡片。选项包括:

  • 按牌组顺序:按顺序从每个牌组中收集卡片,从顶部开始。每个牌组的卡片按照升序位置收集。如果达到所选牌 组的每日限制,收集可能在所有牌组检查之前停止。此顺序在大集合中最快,并允许你优先选择靠顶部的子牌 组。

牌组 / 子牌组始终按字母顺序排列,因此可以给它们一个类似 001 的数字前缀来控制显示顺序。你还可以使用 _~ 作为前缀将项目放在顶部或底部。

虽然位置顺序最初取决于上面的「插入顺序」设置,你可以手 动重新定位卡片方式。

  • 按牌组顺序,再随机排列笔记:从每个牌组按顺序开始收集卡片,从顶部开始。每个牌组的卡片都是随机收集 的。

  • 按位置升序:按升序位置(到期 #)收集卡片,通常是最早添加的优先。

  • 按位置降序:按降序位置(到期 #)收集卡片,通常是最近添加的优先。

  • 随机排列笔记:随机选择笔记的卡片。如果禁用关联卡片搁置,这允许在一个会话中查看笔记的所有卡片(例 如,正向和逆向卡片)。

  • 随机排列卡片:完全随机收集卡片。

新卡片排序顺序

控制卡片被抽取之后的新卡片排序。选项包括:

  • 按卡片模板顺序:按卡片模板顺序显示卡片。如果禁用关联卡片搁置,这将确保所有正向卡片在逆向卡片之前出 现。这对于在同一个会话中显示同一笔记的所有卡片很有用,但不会距离太近。

  • 按抽取顺序:按卡片被抽取的顺序显示。如果禁用关联卡片搁置,这通常会导致一个笔记的所有卡片一个接一个 地出现。

  • 先按卡片模板顺序,再随机:与「卡片模板顺序」类似,但将打乱每个卡片模板的编号。如果使用升序位置收集 最早的卡片,可以使用此设置以随机顺序查看这些卡片,但仍确保同一笔记的卡片不会距离太近。

  • 先随机排列笔记,再按卡片模板顺序:随机选择笔记,然后按顺序显示它们的所有同级。

  • 随机排列:完全打乱抽取的卡片。

新学/复习的先后顺序

新卡片是否应与复习卡片混合显示,或显示在它们之前或之后。

跨日卡片展示顺序

是否应与复习卡片混合显示跨日学习卡片(1 天及以上的间隔),或显示在它们之前或之后。由于学习卡片往往比 复习卡片更难,一些用户更愿意在结束时看到它们(先完成简单的东西),或在开始时(获得更多时间以复习遗忘 的卡片)。

复习卡片排列顺序

控制复习时如何排序复习卡片。选项包括:

  • 先按到期日期排序,再随机排序:默认选项优先显示等待时间更长的卡片。这是当你最新或只有少量积压时的推 荐选项。如果你中途休息过长时间或在复习上落后进度,你可能考虑暂时更改排序顺序。

  • 先按到期日期排序,再按牌组排序:优先显示等待时间较长的卡片,然后轮流显示每个子牌组的复习。

  • 先按牌组排序,再按到期日期排序:确保每个子牌组的复习按顺序显示。通常不推荐这种方式,因为材料在相同 顺序出现更容易根据上下文猜答案,可能导致记忆减弱。

  • 按间隔升序:确保间隔较短的卡片首先显示。

  • 按间隔降序:确保间隔较长的卡片首先显示。

  • 按简易度升序:显示最难的卡片在前。

  • 按简易度降序:允许你先处理较简单的材料。

  • 按相对逾期程度:首先显示你最可能忘记的卡片。如果你有大量积压可能需要一些时间来处理,可以减少忘记更 多卡片的可能性。

使用 SM-2 排程算法时,通过比较卡片过期天数与间隔时间来确定过期程度。例如,一个当前间隔为 5 天、过期 2 天的卡片将在一个当前间隔为 10 天、过期 3 天的卡片之前显示。

使用 FSRS 时,过期程度基于每张卡片的可检索性和牌组预设中的预期保留率来计算。

计时

Anki 会监测你回答每张卡片所花的时间,以显示每天用于学习的时间。所用时间不会影响调度。

选项包括:

  • 回答时间记录上限:默认限制为 60 秒。如果你花费的时间更长,Anki 假定你离开了计算机或被分心,并将记 录的时间限制为 60 秒,以免最终产生不准确的统计数据。如果你经常花费超过 60 秒回答一张卡片(从显示问 题开始直到你按下答案按钮),你可能需要考虑提高此限制,或者,理想情况下,简化你的卡片。

  • 显示回答计时器:在复习界面中显示一个计时器,记录你复习每张卡片所用的秒数。

  • 显示答案后停止计时:是否在显示答案时停止计时器。

自动展示

需要 Anki 23.12 或更高版本。自动展示允许你自动显示答案和 / 或移动到下一张卡片。要使用它,首先必须在 「显示问题的秒数」和 / 或「显示答案的秒数」中设置一个非零时间。然后,在复习界面中,使用更多按钮中 的自动展示操作开始展示。

搁置

当 Anki 抽取卡片时,它首先抽取一天内的学习卡片,然后跨日学习卡片,然后复习卡片,最后是新卡片。这会影 响搁置的工作方式:

  • 如果你启用了所有搁置选项,列表中最早出现的关联卡片将首先显示。例如,复习卡片会优先于新卡片显示。
  • 列表中较晚的关联卡片不能搁置较早的卡片模板。例如,如果你禁用新卡片的搁置,而学习了一张新卡片,它不 会搁置任何跨日学习或复习卡片,你可能会在同一个会话中看到复习同级和新同级。

选项包括:

  • 搁置新的关联卡片:是否延迟直到第二天显示同一笔记的其他新卡片(例如,反向卡片,相邻的填空题)。

  • 搁置待复习的关联卡片:是否延迟直到第二天显示同一笔记的其他复习卡片。

  • 搁置跨日学习中的关联卡片:是否延迟直到第二天显示同一笔记中间隔 >= 1 天的其他学习卡片。

有关搁置卡片的更多信息,请参见手册中的本节

音频

默认情况下,Anki 会自动在卡片的正面和背面播放音频。如果勾选不自动播放音频,Anki 将在你按下重新播 放音频键 rF5 之前不会播放音频。

总是包括问题侧在重新播放音频时控制当答案显示时重新播放音频时是否播放问题侧的音频。请注意,它不控 制显示答案时会发生什么;有关详细信息,请查看本节

高级

FSRS

自由间隔重复排程算法(FSRS) 是一个 Anki 旧版 排程算法 SuperMemo 2(SM2) 的替代品。通过更准确地确定你可能忘记的时机,它可以帮助你在相同的时间内记 住更多内容。此设置由所有牌组预设共享。

启用此设置后,一些新选项将可以使用,而 SM-2 特定的设置,例如「『毕业』卡片再现间隔

」、「『简单』复习间隔乘数」等将被隐藏。

启用之前

  • 请确保你的所有 Anki 客户端都支持 FSRS。Anki 23.10、AnkiMobile 23.10 和 AnkiWeb 都支持它。AnkiDroid 在 2.17alpha3+ 中支持它。如果你的一个客户端不支持它,功能将无法正常工作。

  • 如果你之前使用过「自定义排程」版本的 FSRS,请在启用 FSRS 之前确保清空自定义排程的代码。

FSRS 选项

期望的记忆保留率

期望的记忆保留率控制当卡片被复习时你记住它们的概率。默认值为 0.9,卡片将安排在你有 90% 的几率记住它 们时再次复习

以下是一个调整该值如何影响你复习量的图表:

需要注意两件事情:

  • 随着期望的记忆保留率接近 1.0,你需要复习卡片的频率急剧增加。例如,想象你有一张卡片,你有 90% 的概 率在 100 天后记住。如果你的期望的记忆保留率是 0.95,你需要在 47 天后复习(大约两倍于平常)。在 0.97 时,间隔将只有 27 天(大约 3.7 倍于平常)。在 0.99 时,你将在每 9 天复习一次(超过默认设置 10 倍)。

  • 随着期望的记忆保留率降低,你会忘记更多卡片,且这些卡片需要再次复习。最终,你将达到一个点,遗忘的卡 片对你的复习量增加超过从较长间隔中获得的收益,这就是你看到左侧图表上复习量增加原因所在。此外,请记 住,频繁遗忘内容是令人沮丧的。

因此,我们建议在调整此数字时保持保守,并建议将其保持在 0.85 和 0.95 之间。

历史记忆保留率

如果在切换到 FSRS 之前的实际保留率显着不同于 0.9,调整此值将允许 Anki 更好地估计你的记忆状态,当遇到 丢失复习日志时。因为除非你明确删除复习日志以释放空间,不然它们通常不会丢失,所有大多数用户不需要调整 这一点。

FSRS 参数

FSRS 参数影响卡片调度。它们不是手动修改设计的。一旦你积累了 1000 次以上的复习,你可以让 Anki 根据你 的复习历史优化参数。

更改时将卡片重新排程

该选项控制在启用 FSRS 或更改参数时,卡片的到期日期是否会被修改。默认情况下,不会重新安排卡片:未来的 复习会使用新的安排,但你的复习量不会立即改变。如果启用了重新安排,卡片的到期日期将会被改变,通常会导 致大量卡片过期,所以不建议在初次从 SM2 切换时启用此选项

如果你希望在不改变复习量的情况下可视化地看到 FSRS 如何改变你的计划,有两种方法可以做到:

  • 启用不进行重新安排的 FSRS,并比较间隔和稳定性图表。间隔图表将显示卡片的当前间隔;稳定性图表将显示 如果期望的保留率为 0.9 时,FSRS 会为卡片提供的间隔。
  • 创建备份,启用带有重新安排的 FSRS,查看未来到期图,然后撤销或从备份恢复。

优化 FSRS 参数

FSRS 优化器使用机器学习来学习你的记忆模式,并找到最适合你复习历史的参数。为了做到这一点,优化器需要 一些复习来微调参数。

如果你有少于 1,000 次的复习,可以使用已经输入「FSRS 参数」字段中的默认参数。即使使用默认参数,FSRS 对大多数用户来说也应该能很好地工作。

一旦你在 Anki 中完成了超过 1000 次的复习,你可以使用「优化」按钮来分析你的复习历史,并自动生成最适合 你的记忆和学习内容的参数。参数是预设特定的,所以如果你有难度差异很大的牌组,建议为它们分配不同的预 设,因为简单的牌组和困难的牌组的参数会有所不同。无需频繁优化参数——每隔几个月进行一次就足够了。

默认情况下,参数将从使用当前预设的所有牌组的复习历史中计算出来。你可以在计算参数之前选择性地调整搜 索,以改变用于优化参数的卡片。

你可以一次优化所有预设的参数,点击右上方的下拉箭头,然后选择「优化所有预设」。

评估 FSRS 参数

你可以使用「优化 FSRS 参数」部分中的「评估」按钮查看指标,这些指标显示「模型参数」字段中的参数与你的 复习历史的匹配程度。较小的数字表示与你的复习历史更吻合。

对数损失没有直观的解释。RMSE(bins) 可以解释为卡片回忆的预测概率(R)和测量的(来自复习历史)概率之间 的平均差异。例如,RMSE=5% 意味着 FSRS 在预测 R 时平均有 5% 的误差。

请注意,对数损失和 RMSE(bins) 并不完全相关,所以两个牌组可能有相似的 RMSE 值,但对数损失值非常不同, 反之亦然。

计算推荐的最小记忆保留率

这个实验性工具假设你从 0 张卡片开始,并尝试计算在给定时间框架内你可以保留的材料量。估计的保留率将极 大地依赖于你的输入,并且如果与 0.9 有显著差异,说明你每天分配的时间要么太低,要么太高,无法学习到这 些卡片。这个数字可以作为参考,但不建议将其复制到期望的保留率字段。

初学和重学间隔

当使用 FSRS 时,不推荐使用 1 天以上的初学/重学间隔。它们在旧的 SM-2 排程算法中受欢迎的主要原因是,在 学习阶段毕业后反复失败一张卡片可能会大幅降低其简易度,导致所谓的「简易度地狱」。这个问题在 FSRS 中并 不存在。通过将你的初学间隔保持在一天内,你将允许 FSRS 在它计算的最适合你的材料和记忆的时候安排卡片。 另一个不使用较长初学间隔的原因是,FSRS 在首次复习时安排的间隔可能比你最后的初学间隔更短,导致「困 难」按钮显示的时间比「良好」长。

我们还建议你最好不要设置过多的初学间隔。证据表明,在你已经记住卡片后,在单日内反复复习多次并不能显著 提高记忆,因此将时间投入到其他卡片或更短的学习环节上效果更佳。

插件兼容性

一些插件可能会与 FSRS 发生冲突。一般来说,如果一个插件影响了一张卡片的间隔,它就不应该与 FSRS 一起使 用。常用插件及其 FSRS 兼容性的列表可以 在插件兼容性中找到。

更多信息

有关 FSRS 的更多信息,请查看:

最大间隔

允许你为 Anki 在重新展示卡片之前等待的时间设置上限。默认是 100 年;如果你愿意用更多的学习时间来换取 更高的保留率,可以将其减少到一个较小的数字。

初始简易度

控制卡片在开始时的简易度。当卡片第一次毕业于学习阶段时设置。默认值为 2.50,这意味着在你完成学习一张 卡片后,后续复习中回答「良好」会将间隔增加大约 2.5 倍(例如,如果最后的间隔是 10 天,则下一个间隔将 大约为 25 天)。根据你在后续复习中对卡片的评分,简易度可能会从其初始值增加或减少。

简单复习间隔乘数

当复习卡片回答「简单」时应用于间隔的额外乘数。默认值为 1.30,「简单」将给出 1.3 倍的「良好」间隔(例 如,如果「良好」间隔是 10 天,则「简单」间隔将大约是 13 天)。

全局间隔乘数

应用于所有复习的额外乘数。默认值为 1.00 时,它无效。但如果你将其设置为 0.80,例如,间隔将按其正常大 小的 80% 生成(所以 10 天的间隔将变成 8 天)。因此,你可以使用乘数使 Anki 比正常情况下更频繁或更不频 繁地展示卡片,从而在学习时间和保留率之间进行权衡。

对于难度适中的材料,普通用户应该会发现他们记住的大约 90% 的成熟卡片会在复习中出现。你可以通过打开牌 组的图表/统计数据来查看「回答按钮」图表来了解你自己的表现——成熟保留率是图表右侧的正确率。如果你学习 时间不长,则可能没有任何成熟卡片。由于新卡片和欠熟练卡片的表现可能会有很大差异,等到你有足够多的成熟 复习后再开始对你的保留率得出结论是个好主意。

在 SuperMemo 网站上,他们建议可以为期望的保留率找到合适的乘数。其公式归结为:

log(期望的保留率%) / log(当前保留率%)

假设我们当前的保留率是 85%,我们希望将其提高到 90%。我们会计算修正值为:

log(90%) / log(85%) = 0.65

你可以使用 Google 计算它

如果你将得到的 65% 插入到间隔乘数中,随着时间的推移,你会发现保留率更接近你期望的保留率。

需要注意的一件重要事情是,学习时间与保留率之间的权衡并不是线性的:我们可以看到,为了将保留率提高 5个 百分点,我们需要增加 35% 的学习频率。如果你学习的材料非常重要,那么可能值得付出额外的努力——当然,这 需要你自己决定。如果你只是担心自己忘记得太多,你可能会发现,在初次学习阶段投入更多时间和/或使用记忆 法会让你以更少的努力获得更多提升。

最后需要注意的一点是,Anki 强制新的间隔至少比之前长 1 天,这样你就不会陷入相同间隔的永远复习中。如果 你的目标是在几天内每天复习一张卡片,可以通过设置更多的初学间隔来实现,而不是调整此乘数。

困难复习间隔乘数

当你使用「困难」按钮时使用的乘数。百分比相对于之前的间隔:例如,默认值为 1.20,则 10 天间隔的卡片将 给予 12 天。

重来复习间隔乘数

当你在复习卡片上使用「重来」按钮时使用的乘数。默认 0.00 表示当你遗忘卡片时,复习卡片的间隔将重置为零 (此时在应用最小间隔后变为 1 天)。

如果改变默认值,遗忘的卡片可能会保留部分之前的间隔。例如,如果一张卡片有 100 天间隔,你设置重来复 习间隔乘数为 0.20,则新的间隔为 20 天。

虽然保留部分间隔可能看起来合情合理,但 SuperMemo 已观察到保留部分间隔实际上可 能适得其反。因此,我们建议你保持默认设置。

自定义排程

请参见此页面

与 AnkiWeb 同步

原文:Syncing with AnkiWeb - Anki Manual

AnkiWeb 是一项服务,允许你在多个设备上保持你的集合同步,并在线学习。请在按照以下步骤操作之前注册一 个免费账户

入门视频

要快速了解同步,请查 看同步介绍视频

设置

要开始在设备之间同步你的集合,请点击同步按钮(在主界面的右上角),或按键盘上的 'y'。系统会要求输入你在注册过程中创建的 AnkiWeb ID 和密码。

当你第一次同步集合时,Anki 会询问你是要上传还是下载。如果你在计算机上有卡片,而你的 AnkiWeb 账户为 空,请选择「上传」以将数据发送到 AnkiWeb。如果你在 AnkiWeb 上有来自其他设备的卡片,而你的计算机上没 有卡片,请选择「下载」以用 AnkiWeb 上的卡片替换空的本地集合。如果两个设备上有不同的卡片,将需 要进行更多工作以避免数据丢失。

一旦初始的单向同步完成,Anki 将能够合并来自多个位置的更改,但有一些例外情况。

如果在同一台设备上有多人使用 Anki,并且为每个用户创建了个人资料,则每个用户都需要创建自己的 AnkiWeb 账户以进行同步。如果尝试用单个 AnkiWeb 账户同步多个个人资料,你将丢失数据。

自动同步

启用同步后,Anki 每次关闭或打开集合时将自动同步。如果你更喜欢手动同步,可以在 Anki 的首选项中禁用自动同步。

按钮颜色

当需要正常同步时,同步按钮将变为蓝色;当需要完全同步时,将变为红色。

媒体

相关视频:https://www.youtube.com/watch?v=phP9GGG-PxY

Anki 将同步你的笔记中使用的任何声音和图像。它会注意到何时在你的媒体文件夹中添加 或删除媒体,但如果你在不添加或删除文件的情况下编辑了一些现有文件,它不会注意到。要使你的编辑被注意 到,你需要添加或删除一个文件。

单向同步(提示你上传或下载)对媒体同步没有影响——媒体更改总是会被合并。

为防止意外数据丢失,删除操作只有在媒体完全同步后才会同步到其他设备。如果你在设备完全同步前删除文件, 而已经在 AnkiWeb 上的文件则会在下次同步时被下载。

如果你不小心删除了媒体文件,并希望恢复它们,请打开首选项并注销。下次同步时,如果 AnkiWeb 上仍然有可 用文件,Anki 将恢复任何已删除的文件。

如果你在使用 USB 闪存驱动器上运行 Anki,你应该使用 NTFS 文件系统,因为 Anki 可能无法检测到 FAT32 文件系统上的媒体更改。

冲突

相关视频:https://www.youtube.com/watch?v=UEAcpfMQnjo

在正常情况下,复习和笔记编辑是可以合并的,因此如果你在同步前在两个不同的设备上进行了复习或编辑,Anki 将保留你在两个位置的更改。如果同一张卡片在两个不同位置被复习,两个复习都会在复习历史中标记,卡片将保 持在最新被回答时的状态。

有某些更改是 Anki 无法合并的。这些主要与笔记的格式有关:比如添加新字段或删除卡片模板。当你执行不能合 并的操作时,Anki 会警告你,并让你选择是否中止操作。如果选择继续,下次同步时你需要选择保留本地副本还 是 AnkiWeb 上的副本。

如果在同步时检测到某些问题,也会强制进行单向同步。如果你发现这种情况持续发生,请在我们的支持网站上发 帖。

当需要单向同步时,你需要选择是保留本地设备上的集合,还是 AnkiWeb 上的集合。如果两端都有更改,则只能 保留一端的更改。

如果选择上传,本地设备上的内容将发送到 AnkiWeb。然后,你需要同步其他设备,并选择「下载」以让它们获取 该内容的副本。

如果选择下载,它将用 AnkiWeb 上的数据替换你所做的任何本地更改。

一旦所有设备同步,未来的同步将恢复到正常的合并更改行为。

如果你希望强制进行完整上传或下载(例如,因为不小心在一侧删除了牌组,并想恢复牌组而不是同步删除操 作),你可以在「工具>首选项>同步」勾选「下次同步时,强制单向覆盖」框,然后正常同步。(你将被询问选择 要使用哪一侧。)

强制单向同步只影响卡片同步——媒体正常同步。如果你有要从 AnkiWeb 中删除的文件,请确保你的客户端已完全 同步。同步最新后,你删除的任何文件(例如通过检查媒体功能)将在接下来的同步中从 AnkiWeb 中删除。

合并冲突

因为首次同步只能进行单方向同步,如果在设置同步之前,你在不同设备或个人资料上添加了不同内 容,如果将一台设备上的内容覆盖另一台设备的内容,一个设备上的内容将丢失。在经过一些工作后,可以手动将 数据合并到一个集合中。

首先,在每个设备/个人资料上进行备份,以防出现问题。在计算机版本中,你可以通过「文件>导出」导出「所有 牌组」,包括调度信息和媒体文件,并将文件保存在安全的地方。在 AnkiMobile 上,牌组列表界面上的添加/ 导 出按钮将允许你导出包含媒体的所有牌组。

接下来,如果你的设备之一是移动设备,首先同步它。如果有冲突,选择「上传」以用移动设备的数据覆盖 AnkiWeb 上的任何现有数据。如果两个设备/个人资料都在你的计算机上,首先同步拥有最多牌组的设备/个人资 料。

现在返回到另一个设备/个人资料。如果启用了自动同步,可能会弹出一个消息,询问你是否要上传或下载。单击 取消按钮——我们现在不想同步。

一旦看到牌组列表,点击第一个牌组旁边的齿轮图标,然后选择「导出」。导出包括调度信息和媒体的内容,并将 .apkg 文件保存在某处。现在你需要为每个顶级牌组重复此操作。

一旦所有顶级牌组导出完成,点击右上角的同步按钮,选择「下载」,这将用你从另一设备同步的内容覆盖本地内 容。

现在,你可以使用「文件>导入」来导入你之前导出的 .apkg 文件,这将合并导出的内容和现有内容,因此所有内 容将集中在一处。

防火墙

Anki 需要能够建立出站 HTTPS 连接以进行同步。它必须能够连接到 ankiweb.net、 sync.ankiweb.net、sync2.ankiweb.net 等。这些域名可能会随时间变化,它们指向的 IP 地址也可能会更改,因 此我们建议你允许 *.ankiweb.net 的通配符访问,减少将来防火墙规则需要更新的可能性。

如果你的设备上有防火墙,你应为 Anki 添加一个例外。如果你在工作或学校网络上,请联系你的网络管理员寻求 帮助——我们无法为你提供帮助。

代理

如果你需要代理才能访问互联网,Anki 应自动拾取你的系统代理设置(如果你使用的是 Windows 或 macOS),并 在其他平台上遵循 HTTP_PROXY 环境变量。

Anki 只能在手动配置代理且不需要密码时拾取你的系统设置。如果你的系统使用自动代理设置,或使用需要用户 名和密码的代理,你需要手动告诉 Anki 代理配置。

要告诉 Anki 你的代理设置,请定义一个指向代理服务器的 HTTPS_PROXY 环境变量。它看起来像这样:

http://user:pass@proxy.company.com:8080

如果你的用户名或密码包含 @(例如 user@workdomain.com),则需要将其更改为 %40,如下所示:

http://user%40workdomain.com:pass@proxy.company.com:8080

Anki 2.0 期望找到 HTTP_PROXY 而不是 HTTPS_PROXY。

要在 Windows 上设置环境变量,请参见 https://www.google.com/search?q=windows+set+environmental+variable

如果你使用的是 Mac,请参见 http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x

严格限制的网络会拦截安全连接并呈现其自己的证书,这可能导致 Anki 出现 SSL 错误。在这种环境中,你可能 可以通过 https://ankiweb.net/shared/info/878367706 解决错误。

另一个解决方案是安装一个本地代理服务器,并将该代理服务器指向你通常使用的代理服务器。然后你可以告诉 Anki 使用本地代理,该代理将请求重定向到你通常使用的代理。

用户档案

原文:Profiles - Anki Manual (ankiweb.net)

如果有多个人想在你的计算机上使用 Anki,你可以为每个用户设置一个单独的用户档案。每个用户档案有他们自 己的集合和各自的程序设置。插件在用户档案之间是共享的。配置用户档案可通过进入「文件」菜单并选择「切换 账户」进行。

一个用户档案只可以同步到一个 AnkiWeb 账户。 如果你的计算机上有不同的用户,每位用户都需要为他们的 用户档案设置一个单独的 AnkiWeb 账户。如果你尝试将两个或多个用户档案链接到同一个 AnkiWeb 账户,你会用 一个用户档案的数据覆盖另一个的数据。

用户档案主要用于不同的人使用,不建议用于拆分你自己的内容。如果你为自己创建了多个用户档案,最佳选择是 将它们合并为一个。你可以通过从用户档案 A 中导出一个牌组,然后将其导入到用户档案 B,重复这个过程直到 用户档案 A 中的所有牌组都在用户档案 B 中。

AnkiDroid 不支持用户档案。

用户档案窗口

从用户档案窗口(通过主窗口中的「文件>切换用户档案」访问),你可以:

  • 打开 / 添加 / 重命名 / 删除用户档案。
  • 退出程序。
  • 恢复一个自动备份
  • 降级你的集合,这在你想使用更早版本的 Anki 打开它时是必要的。如果你跳过这一步,在旧版本的 Anki 中打 开你的集合时可能会收到一条错误信息,你需要返回到这个版本进行降级,然后再尝试。

浏览

原文:Browsing - Anki Manual (ankiweb.net)

浏览窗口允许你搜索并编辑卡片和笔记。它可以通过点击主窗口中的「浏览」按钮,或按下 B 键来打 开。该窗口由三个部分组成:左侧的侧边栏、右上部的卡片/笔记表格和右下部的编辑区域。通过将 鼠标指向两个部分之间,可以进行点击并拖动来扩展一个部分,并缩小另一个部分。

表格模式

表格模式

Anki 2.1.45+ 提供了两种模式:在数据表格中显示卡片或笔记。你可以通过点击搜索区域左侧顶部的开关,或按 下 Ctrl+Alt+TCmd+Opt+T 来更改 当前模式。开关也会指示当前显示的是卡片还是笔记

注意:为了简化说明,本手册一般假定当前为卡片模式。当提到选择/查找等「卡片」时,读者可以将其替换 成「根据当前模式选择卡片或笔记」。

侧边栏

左侧的侧边栏允许快速访问常用搜索项。在 Anki 2.1.45+ 上,它还提供了一个搜索栏,功能包括编辑标签和 牌组,以及可以选择的两个不同工具,将在接下来的章节中讨论。你可以使用侧边栏顶部的工具栏或快捷键 Alt+1/2 来切换工具。

搜索工具

搜索工具

在此工具中,侧边栏行为与以前的版本类似:点击一个项目将搜索它。

你可以在点击时按住 Ctrl(Mac 上为 Command)以用 AND 条件将点击的项目附加到当前 搜索,而不是开始新搜索。例如,如果你想显示学习卡片,同时还在德语牌组中,你可以先点击「学习」,然 后 Ctrl-点击「德语」。

你可以按住 Shift 以创建 OR 搜索而不是 AND 搜索。例如,你可以先点击一个牌组,然后 Shift-点击另一个牌组,以在同一视图中显示来自任意牌组的卡片。

你可以按住 Alt(Mac 上为 Option)以反转搜索(在前面添加一个 -):例如,显示 当前牌组中没有某个标签的所有卡片。Alt/Option 可以与 CtrlShift 结合使用(例如,用 Ctrl+Alt 点击将添加一个被否定的新搜索条 件)。

在 Anki 2.1.39+ 上,当点击一个搜索项时,你还可以同时按住 CtrlShift 来替换 同类搜索的所有出现项。假设你之前输入了一个复杂的搜索表达式,比如 deck:Swahili (is:due or tag:important),现在想对你的 Urdu 牌组进行相同的搜索。你可以在侧边栏中按住 Ctrl+Shift 的同时点击 Urdu 牌组,以获得以下搜索表达 式:deck:Urdu (is:due or tag:important)

选择工具

选择工具

选择工具允许通过在点击时按住 CtrlShift 来同时选择多个项目。它还支持拖放以 重新排列牌组和标签。

举个例子:假设你有标签 MathCalculusAlgebra。点击 Calculus 标签,然后 Ctrl- 点击 Algebra 标签。现在两个标签都被选择,点击并拖动其中任一个到 Math 标签上,以使它们都成为此标 签的子标签。在后台,Anki 将两个标签重命名为 Math::CalculusMath::Algebra,并相应地更新你的笔 记。

选择多个项目的另一个用例是搜索:如果你右键点击一个项目集,你可以选择搜索 > 所选项目中的所有/任 一。这可以与搜索工具中描述的键盘修饰符结合使用,以将结果搜索附加到当前搜索中。

保存的搜索

如果你经常搜索相同的内容,可以通过右键单击侧边栏的最顶级项目,选择「保存当前搜索」并输入名称,来保存 当前搜索。你还可以将任何侧边栏项目拖放到此区域,添加一个等效的保存搜索,从而将其固定在顶部。

编辑项目

你可以直接从侧边栏通过右键菜单或快捷键(在 Windows 上为 DelF2)删除或重命 名标签、牌组和保存的搜索。删除甚至支持多项目同时操作(参见选择工具)。

查找项目

要在侧边栏树中查找某个项目,可以在顶部的搜索栏中输入部分名称,以暂时隐藏所有不匹配的项目。

搜索框

卡片列表上方是一个搜索框。你可以在其中输入各种内容以搜索卡片。有关搜索语法的信息,请参 见搜索

卡片/笔记表格

表格的行代表与当前搜索匹配的卡片或笔记。当你点击某一行时,相应的笔记将在底部区域显示。

如果你拖动鼠标或按住 CtrlCommand 来选择多行,编辑器将被暂时隐藏。各种操作 (如更改牌组)可以在多张卡片或笔记上同时进行,而不依赖于当前模式。因此,在卡片模式下,如果选择了其任 意卡片,则认为选择了一个笔记;而在笔记模式下,如果选择了其笔记,则认为选择了一张卡片。

其他操作(如显示卡片信息)仅对单张卡片或笔记操作。这被称为当前卡片或笔记,通常是最后选择或点击的 那个。在卡片模式下,当前笔记是当前卡片的笔记;在笔记模式下,当前卡片是当前笔记的第一张卡片。

卡片和笔记的背景颜色会根据状态有所改变。在卡片模式下,应用以下匹配规则的第一条:

  1. 如果卡片被旗标,使用旗标颜色,
  2. 如果卡片被暂停,则为黄色,
  3. 如果卡片的笔记被标记,则为紫色。

在笔记模式下,仅对标记笔记应用颜色。
有关标记笔记和暂停卡片的详细信息,请参见编辑和更多

列是可配置的:右键点击一列(在 Mac 上为 Ctrl-点击)以选择想要显示的列。你可以拖动列来重新 排序。点击一列将按该列排序;再次点击将反转排序顺序。请注意,你不能按问题和答案列排序。

对于卡片和笔记模式,两种模式下所有列都可用,但有时名称和数据略有不同。以下表格列出了两 种模式下的行为。

卡片模式笔记模式
答案卡片背面的文本行,问题已去除。你还可以在卡片模板编辑器中选择自定义格式来代替。与卡片模式相同,仅限于笔记的第一张卡片。
卡片模板卡片模板的名称。笔记拥有的卡片数量。
卡片修改日期卡片最后一次更改的时间(例如,当你点评卡片并且评论历史和间隔被更新时)。笔记的卡片最后一次更改的时间。
添加日期与卡片的笔记中的创建日期相同。笔记的创建日期。
牌组卡片所在牌组的名称。笔记的卡片所在不同牌组的数量,或如果所有卡片都在同一牌组,则为牌组名称。
到期复习或(再)学习中的卡片的到期日期,以及新卡在新卡队列中的位置。如果卡片被暂停或搁置,该行将以括号包裹。排序按类型进行,仅此后按日期或位置排序。笔记未暂停、未搁置或未筛选牌组的卡片的下次到期复习或(再)学习的日期。
(平均)简易度如果卡片不是新卡,则为卡片的简易度。如果笔记的卡片不是新卡,则为其平均简易度。
(平均)间隔如果卡片处于复习或再学习中,则为卡片的间隔。如果笔记的卡片处于复习或再学习中,则为其平均间隔。
遗忘卡片被评为「重来」的次数。笔记所有卡片的总遗忘次数。
笔记与卡片的笔记中的内容相同。笔记的模板名称。
笔记修改日期与卡片的笔记中的内容相同。上次编辑(例如字段内容)的时间。
问题卡片正面的文本行。你还可以在卡片模板编辑器中选择自定义格式来代替。与卡片模式相同,仅限于笔记的第一张卡片。
复习卡片已被复习的次数。笔记所有卡片的总复习次数。
排序字段与卡片的笔记中的内容相同。笔记字段中定义为笔记模板排序字段的内容。只有这一个字段可以显示和排序。你可以点击编辑区域中的「字段…」来更改排序字段。
标签与卡片的笔记中的内容相同。笔记的标签。

编辑区域

右下区域显示当前选中行的笔记。有关卡片和笔记的更多信息,请参见开始使用。有关格 式化按钮的更多信息,请参见编辑

你可以点击编辑区域顶部的预览按钮,查看当前所选卡片在复习时的样子。注意,这将不会显示你卡片上的任 何输入答案的字段,从而更容易快速预览卡片。在笔记模式下,预览显示的是所选笔记的第一张卡片。

菜单和操作

浏览器窗口顶部有一个工具栏,包含各种菜单,提供浏览器中可以执行的各种操作。

编辑

名称操作
撤销撤销最近执行的操作。
全选选择所有显示的行。
选择笔记仅显示当前选择的笔记并选择所有行。
反向选择选择未被选择的行,并取消选择当前选中的行。
创建筛选牌组显示筛选牌组对话框,并将当前浏览器搜索设置为筛选条件。使用 Alt / Option 代替设置第二个筛选条件(需要调度器版本 2+)。

笔记

下列大多数操作用于所选笔记。它们也可以通过右键点击笔记模式下选择的行时的上下文菜单来使用。在卡片模式 下,可以在上下文菜单的子菜单中找到这些操作。

名称操作
添加笔记打开添加对话框。
创建副本编辑器中打开当前笔记的副本,可以稍作修改来轻松获取卡片的变体。默认情况下,副本卡片将创建在与原始卡片相同的牌组中。
导出笔记打开导出对话框。
添加标签将提供的标签添加到所有选定的笔记。
删除标签输入标签并从所有选定的笔记中移除它们。
删除未使用的标签从侧栏中移除所有未被任何笔记使用的标签。
添加/移除标记如果当前笔记被标记(即具有 marked 标签),则取消标记所有选定的笔记。如果当前未标记,则标记所有选定的笔记。
更改笔记模板将选定的笔记从一种模板转换为另一种模板。例如,假设你有一个「俄语」笔记模板和一个「计算机」笔记模板,而你不小心在「俄语」笔记中添加了一些与计算机相关的文本。你可以使用此选项来修复这种错误。卡片的计划不会受到影响。更改笔记的模板需要单向同步。
查找重复打开重复项对话框。
查找并替换打开查找并替换对话框。
管理笔记模板打开笔记模板对话框。
删除删除所有选定的笔记及其卡片。无法删除单张卡片,因为单张卡片由模板控制。

卡片

以下操作针对当前选定的卡片。当在卡片模式下右键单击选定行时,它们也可通过上下文菜单获得。在笔记模式 下,它们可以在上下文菜单的子菜单中找到。

名称操作
更改所属牌组将当前选定的卡片移动到不同的牌组中。
设置到期日将卡片变为复习卡片,并使其在特定日期到期。当你的学习计划受扰时,这可能有助于将卡片提前或推迟几天。输入一个范围如 60-90 将使所选卡片在 60 到 90 天内到期。新卡片的间隔将设置为相同的间隔,但复习将被重新安排而不改变其当前间隔,除非范围的末尾包含 '!'。 (请注意,当手动安排卡片时未记录答题时间,因为该操作可以在复习之外执行,Anki 无法知道哪张卡片可能会或不会在此时显示。)
重置将当前选定的卡片移至新队列的末尾。现有的复习历史记录被保留。在 2.1.50+ 中,有恢复原始卡片位置的选项,并重置卡片的遗忘和复习次数。
重排位置更改新卡片的出现顺序。你可以通过启用到期列来查看现有位置,如上面的表格部分所述。如果在选定多张卡片时运行更改位置命令,它将依次对每张卡片应用递增的编号。默认情况下,每张卡片的编号增加 1,但可以通过更改「步幅」设置进行调整。改变现有卡片的位置选项允许你将卡片插入当前存在的卡片之间,推动当前存在的卡片分开。例如,如果你有五张卡片并想将 3、4 和 5 移动到 1 和 2 之间,选择此设置将使卡片按 1、3、4、5、2 的顺序排列。 相比之下,如果关闭此选项,1 和 2 将获得相同的位置编号(因此无法预测同一个编号的卡片中哪个会首先出现)。请注意,当启用时,任何位置较高的卡片都会被修改,所有这些更改的卡片都需要在下次同步时发送。
暂停/取消暂停根据当前卡片是否暂停,暂停或取消暂停所有选定的卡片。
旗标切换所有选定卡片的旗标。添加或移除旗标取决于当前卡片是否具有所选旗标。
卡片信息显示有关当前卡片的各种信息,包括其复习历史。更多信息,请参见卡片信息

跳转

此菜单提供用于跳转到浏览器的各个部分以及上下移动卡片列表的键盘快捷键。

查找并替换

此对话框允许对笔记进行文本替换。如上所述,可以通过工具栏和表格的上下文菜单访问该功能。

第一个输入字段用于输入要替换的文本,第二个输入字段用于替换文本。接下来,有一个下拉菜单可用于指定 Anki 应在哪里查找要替换的文本:笔记的标签中(需要 Anki 2.1.45+),所有字段中,或仅限于特定字段(仅列 出属于选定笔记的字段)。

默认情况下,仅影响选定的笔记。如果你想取消这一限制,可以取消选中「仅选定笔记」复选框(需要Anki 2.1.45+)。

正则表达式选项允许你进行复杂的替换。例如,假设字段中有以下文本:

<img src="pic.jpg" />

我们使用以下设置:

查找并替换对话框

(请注意,在 Anki 2.1.28 之前的版本中,你需要将 ${1} 替换为 \1。)

然后,假定的字段内容将更改为:

pic.jpg

有关正则表达式的详细讨论超出了本文档的范围。网上有许多语法指南:

查找重复

你可以使用**「笔记>查找重复」选项来搜索内容相同的笔记。当你打开窗口时,Anki 将查看你所有的笔记模 板,并呈现所有可能字段的列表。如果你想在背面**字段中查找重复项,你需要从列表中选择它,然后点击 搜索

默认情况下,它会在所有具备你提供字段的笔记模板中进行搜索。这与手动添加卡片时的重复检查不同,手动添加 卡片时的检查限制在单一笔记模板内。

可选筛选器文本框允许你缩小 Anki 的重复检查范围。如果你只想在「French Vocab」和「French Verbs」笔 记模板中查找重复项,你可以输入:

"note:french vocab" or "note:french verbs"

或者你可能只想在特定牌组中查找重复项,因此你可以使用:

"deck:myDeck"

搜索语法和在浏览器中搜索时使用的语法相同。更多信息,请参见搜索

你可以点击搜索结果列表中的链接来显示该组中的重复笔记。如果搜索带来了大量重复项,你可能希望点击标记 重复项按钮,这会为所有匹配的笔记标记为 duplicate。你可以随后在浏览器中搜索此标签,并从同一界面 处理它们。

筛选牌组与突击复习

原文:Filtered Decks - Anki Manual (ankiweb.net)

当你在 Anki 中学习常规牌组时,只会显示有限数量的卡片:那些 Anki 认为你即将遗忘的卡片和每天新卡片的限 制。这通常很有用,因为它确保你不会花费比必要更多的学习时间。但有时候,超出这些正常限制是有用的,比如 当你需要为考试复习、专注于特定材料等情况。为此,Anki 提供了一种不同类型的牌组,称为「筛选牌组」。

筛选牌组提供了很多可能性。它们可以用于预览卡片、在考试前突击复习卡片、学习特定标签、根据特定排序处理 积压内容、提前复习、复习当天失败的卡片等。

自定义学习

创建筛选牌组最简单的方法是使用自定义学习按钮,当你点击一个牌组时,它会出现在窗口底部。它提供了一些常 见任务的便捷预设筛选,如复习当天失败的卡片。它会创建一个名为「自定义学习会话」的筛选牌组,并自动为你 打开。

如果已有「自定义学习会话」牌组存在,它将在创建新牌组之前被清空。如果你希望保留一个自定义学习牌组,可 以从牌组列表中重命名它。

以下是每个选项的摘要:

提升今日新卡片上限
为你当前学习的牌组添加更多新卡片。需要注意的是,与其他选项不同,此操作「不会」创建新的筛选牌组,而是 修改现有的牌组。

提升今日复习卡片上限
如果因每日复习限制未显示今天应复习的所有卡片,此选项允许你显示更多卡片。与新卡片选项相同,此操作修改 现有牌组。

复习忘记的卡片
显示所有在指定天数内你选择「重来 (1)」的卡片。

提前复习
显示将在近期到期的卡片(由你指定的天数)。这对于在假期前处理一些较旧的卡片很有用,但对你最近学习的卡 片无帮助。请参见下面的提前复习章节了解更多信息。

预览新卡片
显示你最近添加的卡片,在回答时不将它们转换为复习卡片。

按卡片状态或标签学习
从当前牌组中选择一定数量的卡片进行学习。你可以选择仅选择新卡片、仅到期卡片或所有卡片;点击「选择标 签」后,你还可以按标签限制选择的卡片。如果你希望查看牌组中的所有卡片(例如在考试前复习),可以将卡片 数量设置为多于牌组中的卡片数量。

所属牌组

当卡片被移到筛选牌组时,它会保留到其来源牌组的链接。前一个牌组被称为卡片的「所属牌组」。

卡片在筛选牌组中学习后会自动返回其所属牌组。这可以是在单次复习后,也可以是在多次复习后,取决于你的设 置。

也可以将所有卡片一次性移回他们的所属牌组:

  • 学习概览中的「清空」按钮将筛选牌组中的所有卡片移回所属牌组,但不会删除空的筛选牌组。如果你希望稍后 再次填充它(使用重建按钮),这会很有用。

  • 删除一个筛选牌组与「清空」操作相同,但同时会从牌组列表中移除已清空的牌组。删除筛选牌组时,卡片不会 被删除。

在旧调度器中,如果你在卡片仍处于学习状态时创建、重建、清空或删除筛选牌组,它们会被重置为新卡片。在重 学中遗忘的情况下,任何剩余的重学间隔将被跳过。这 在v2 调度器中得到修复,因此卡片不再被重置。

手动创建

高级用户可以使用任意搜索字符串(或「筛选器」)创建筛选牌组,而不是依赖预设筛选器。要手动创建筛选牌 组,请从工具菜单中选择「创建筛选牌组」。

当你点击构建按钮时,Anki 会根据你指定的设置找到匹配的卡片,并临时将它们从现有牌组移到新的筛选牌组进 行学习。

如果你希望使用相同的筛选选项再次获取卡片(例如,如果你想每天学习所有带有特定标签的卡片),可以在牌组 概览的底部使用重建按钮。

搜索区域控制 Anki 将收集哪些卡片。浏览器中可能搜索的所有内容对于筛选牌组也是可能的,例如限制为标 签、查找遗忘一定次数的卡片等。请参见手册中的搜索部分,了解不同可能性的更多信息。

筛选牌组无法收录暂停的、搁置的或已经在其他筛选牌组中的卡片。如果你在使用 v1 调度器,学习中的卡片也不 会被包括在内。因此,浏览器中的搜索可能会揭示不会最终进入筛选牌组的卡片。

限制选项控制将有多少卡片被收集到牌组中。你选择的顺序不仅控制了卡片的收集顺序,还控制了它们的复习 顺序。例如,如果你选择「最多跌倒」和限制为 20,Anki 只会展示给你跌倒最多的 20 张卡片。

启用第二筛选器选项允许你创建包含两次不同搜索的筛选牌组,因此你可以,例如,使用一个顺序包含到期卡 片,并用不同的顺序包含少量新卡片。

顺序

「卡片选择依据」选项控制卡片将出现的顺序。如果你选择的最大卡片数量低于符合筛选条件的卡片数量,Anki将 首先排除这个排序列表末尾的卡片。

最早查看的优先
首先显示那些在复习中被忽视最久的卡片。

乱序
将匹配筛选条件的所有卡片随机排序(不使用设定顺序)。

间隔由小到大
首先显示间隔最小的卡片。

间隔由大到小
首先显示间隔最大的卡片。

遗忘次数由大到小
首先显示那些你失败次数最多的卡片。

按添加顺序
首先显示你最早添加的卡片(即那些创建日期最早的卡片)。

按到期顺序
首先显示到期日期最早的卡片。

最后添加的优先
首先显示你最近添加到牌组的卡片。(这与「添加顺序」相反。)

按相对超期程度
首先显示你最可能遗忘的卡片。这在你拥有大量积压内容且可能需要一段时间来处理时很有用,并且你希望减少遗 忘更多卡片的可能性。

使用 SM-2 调度器时,超期程度是通过比较卡片的超期天数和其间隔长度来确定的。例如,一张当前间隔为 5 天 且超期 2 天的卡片,将显示在当前间隔为 10 天且超期 3 天的卡片之前。

使用 FSRS 时,超期程度基于每张卡片的可提取性及牌组预设中的期望保留率来计算。

初学/重学间隔与返回

请参阅学习章节,了解初学/重学间隔如何运作。

默认情况下,Anki 将使用卡片所属牌组的初学/重学间隔。如果新卡片在学习时正常需要复习两次,那么当你在筛 选牌组中学习它时,同样也会发生。

卡片在学习(重学)完成时返回其所属牌组。因此,如果你有 3 个初学间隔,新卡片将在按下「良好」三次或按 下「简单」一次后返回所属牌组。

v1 和 v2 调度器

在 v1 调度器中,自定义初学/重学间隔选项允许你覆盖所属牌组的初学/重学间隔并提供自己的初学/重学间 隔。提供的初学/重学间隔适用于学习中的卡片、复习忘记的卡片以及提前复习的卡片。然而,请注意,从 v2 调度器开始,筛选牌 组不再支持自定义初学/重学间隔

v3 调度器

v3 调度器中,禁用重新排程的筛选牌组显示 4 个 按钮——提供的间隔适用于「重来」按钮,而「困难/良好」将使用 1.5 倍和 2 倍的提供间隔。「简单」将移除卡 片。

计数

在筛选牌组中,已经到期的复习卡片正常显示在复习计数中。学习卡片和未到期复习卡片由于底层实现的工作方式 被计入新卡片计数。然而,未到期的复习卡片并不像新卡片一样被排程:Anki 使用一种特殊算法,考虑它们在复 习时距离正常到期时间的接近程度。

到期复习

如果筛选牌组中包含到期复习的卡片,它们会像其原牌组中那样被显示:它们出现在窗口底部的复习卡片计数中, 并且有四种选择可以评估你记得的程度。答案正确后,卡片将返回到其所属牌组,并根据所属牌组的设置调整其下 次间隔。如果你忘记了卡片,它将根据所属牌组中定义的重学间隔来显示。

提前复习

如果你的搜索包括未到期的卡片,Anki 会提前显示这些复习。

Anki 对这些复习使用一种特别的算法,考虑到你复习的提前程度。如果卡片几乎到期,它们将被赋予一个新间 隔,类似于如果你按时复习它们时收到的间隔。然而,如果卡片是在计划后的不久被复习的,它们的新间隔将类似 于之前的间隔。此计算在一个滑动尺度上进行。

因为在计划后不久复习卡片对计划影响很小(例如,一个一天间隔的卡片如果提前复习,仍将在明天到 期),「提前复习」自定义学习设置不适合反复使用。如果用于在一次旅行前复习一周的卡片,已熟练的卡片 将被重新安排到未来,而新卡片将保持在小间隔中,因为你对它们了解得不够好,无法将它们重新安排得更远。如 果你在第二天再次提前复习,你所做的只是重复复习那些新卡片,效果甚微。

提前复习的卡片计入新卡片计数,而不是复习计数,并将根据所属牌组中定义的重学间隔进行显示(除非你提供了 自定义间隔)。这意味着如果你在所属牌组中自定义了重学间隔的数量,未到期的卡片可能会被多次显示。

如果你有多个间隔,Anki 在决定下个间隔时考虑第一次的评分。像正常牌组中的再学习一样,「良好」和「简 单」在阶段变化上有所不同,但在最终的间隔上没有区别。

重新排程

默认情况下,Anki 将通过在筛选牌组中的表现来调整计划后返回卡片到它们的所属牌组。有一个基于此牌组的 回答情况,对卡片重新排程选项可用,它会改变此行为。从 v2 调度器开始,当重新安排被禁用时,卡片会以 简单的「预览模式」显示,当它们返回到原始牌组时,位置会准确回到开始时的状态。

在 v1 调度器中,卡片的展示方式更接近于正常情况,但学习卡片会产生一些副作用,并且在学习时,新卡片的原 始位置会丢失。

追赶进度

当你在复习中落后进度时,筛选牌组对于追赶进度非常有用。一位 Anki 用户描述了他们使用筛选牌组来追赶进度 的方法如下:

我用筛选子牌组处理了 800 张卡片的积压。对我来说效果很好。

刚逾期的筛选器为:「is:due prop:due>-7」

久逾期的筛选器为:「is:due prop:due<=-7」

刚逾期的牌组将包含在过去一周内到期的卡片。那是你应该每天学习的牌组,因为它包含了规律到期的卡片。通过 这种方式,你可以像没有积压一样学习。

久逾期的牌组将包含你的积压 —— 你没有及时学习的卡片。你可以像学习新卡片一样学习它们。它们会返回到常规 卡片中,所以只要你保持刚刚到期的牌组被检查,未完成的卡片数量就不会增加。

耗时多久取决于你每天除了规律到期卡片外还能学习多少超期卡片。当你有感觉时,你依然可以快速通过它们 —— 或者你可以像处理新卡片一样每天学一个特定的数量。由你决定。

搜索

原文:Searching - Anki Manual (ankiweb.net)

Anki 的浏览界面和筛选牌组功能使用了一种通用的方法来搜索特定的卡片/笔记。这个方法也可以用于调整 FSRS 优化的范围。

简单搜索

当你在搜索框中输入一些文本时,Anki 会找到匹配的笔记并显示它们的卡片。Anki 会在笔记的所有字段中搜索, 但不会搜索标签(查看本节后面以了解如何搜索标签)。一些示例:

dog
搜索「dog」- 会匹配类似「doggy」和「underdog」的单词。

dog cat
找到同时包含「dog」和「cat」的笔记,比如「raining cats and dogs」。

dog or cat
找到包含「dog」或者「cat」的笔记。

dog (cat or mouse)
找到包含「dog」和「cat」,或者「dog」和「mouse」的笔记。

-cat
找到不包含「cat」的笔记。

-cat -mouse
找到既不包含「cat」也不包含「mouse」的笔记。

-(cat or mouse)
与上面相同。

"a dog"
找到确切包含字符序列「a dog」的笔记,比如「atta dog」,但不包括「dog a」或「adog」。

-"a dog"
找到不包含确切字符序列「a dog」的笔记。

d_g
找到包含 d<一个字符>g 的笔记,如 dog、dig、dug 等。

d*g
找到包含 d<零个或多个字符>g 的笔记,如 dg、dog、dung 等。

w:dog
搜索单词「dog」而不是字符序列 - 会匹配「dog」但不包括「doggy」或「underdog」。需要 Anki 2.1.24+、AnkiMobile 2.1.61+ 或 AnkiDroid 2.17+。请注意,格式变化可能会被解释为单词边界。例如,搜索 w:exam 会匹配 example,因为 example 中的「exam」部分是粗体格式。

w:dog*
会匹配「dog」和「doggy」,但不包括「underdog」。

w:*dog
会匹配「dog」和「underdog」,但不包括「doggy」。

从以上可以注意到以下几点:

  • 搜索关键词以空格分隔。

  • 当提供多个搜索关键词时,Anki 会查找同时匹配所有关键词的笔记 - 在每个关键词之间插入一个隐式的 「and」。在 Anki 2.1.24+、AnkiMobile 2.0.60+ 和 AnkiDroid 2.17+ 上,你可以显式设置(「dog and cat」与「dog cat」相同),但较旧的 Anki 版本会将「and」视为要搜索的另一个单词。

  • 如果你只需要匹配其中一个关键词,可以使用「or」。

  • 你可以在关键词前加上减号来查找不匹配该关键词的笔记。

  • 你可以通过将搜索关键词放在括号中来对其进行分组,如「dog (cat or mouse)」示例中那样。这在组合 OR 和 AND 搜索时变得很重要 — 在示例中有括号时,它匹配「dog cat」或「dog mouse」,而没有括号时,它会匹配 「dog and cat」或「mouse」。

  • Anki 只能在你配置的排序字段中的格式内搜索。例如,如果你在某个字段中添加 「example」,其中「exa」部分是粗体,那么除非该字段是排序字段,否则在搜索「example」时将不会匹 配。如果单词没有格式化,或者格式化没有在单词中间变化,那么 Anki 将能够在任何字段中找到它。

  • 标准搜索对拉丁字符进行不区分大小写—— a-z 将匹配 A-Z,反之亦然。其他字符如西里尔字母在标准搜索中是 区分大小写的,但可以通过在单词边界或正则表达式上进行搜索来取消区分大小写(w:re:)。

限定到某个字段

你也可以要求 Anki 只有在特定字段包含某些文本时才匹配。与前面的搜索示例不同,字段搜索默认需要精确匹 配。

正面:dog
找到「正面」字段内容精确为「dog」的笔记。内容为「a dog」的字段将不匹配。

"animal front:a dog"
找到「Animal Front」字段内容精确为「a dog」的笔记。双引号是必需的:请参阅本节后面

正面:*dog*
找到「正面」字段包含 dog 的笔记。

正面:
找到「正面」字段为空的笔记。

正面:_*
找到「正面」字段不为空的笔记。

正面:*
找到有「正面」字段的笔记,无论是否为空。

正*:text
在字段前缀为「正」的字段中找到笔记。需要 Anki 2.1.24+、AnkiMobile 2.1.60+ 或 AnkiDroid 2.17+。

标签、牌组、卡片和笔记

tag:animal
找到带有「animal」标签的笔记,或类似「animal::mammal」的子标签。

tag:none
找到没有标签的笔记。

tag:ani*
找到标签前缀为「ani」的笔记。

deck:french
在名为「French」的牌组中或其子牌组如「French::Vocab」中寻找卡片。

deck:french -deck:french::*
找到「French」中的卡片,但不包括其子牌组。

deck:"french vocab"
搜索带有空格的牌组名称。

"deck:french vocab"
与前面相同。

deck:filtered
仅筛选牌组。

-deck:filtered
仅普通牌组。

preset:"Default"
在所有使用「Default」牌组选项预设的牌组中的卡片。需要 Anki 23.10+、AnkiMobile 23.10+ 或 AnkiDroid 2.17+。

card:forward
找到由名为「Forward」的卡片模板创建的卡片。

card:1
按卡片模板编号搜索卡片,例如要查找笔记的第二个填空题,你可以使用 card:2

note:basic
搜索由名为「Basic」的笔记模板创建的卡片。

忽略重音/组合字符

需要 Anki 2.1.24+、AnkiMobile 2.0.60+ 或 AnkiDroid 2.17+。

你可以使用 nc:(nc 代表「no combining」)使 Anki 忽略组合字符。例如:

nc:uber
匹配带有「uber」、"über"、"Über" 等的笔记。

nc:は
匹配「は」、「ば」、「ぱ」。

忽略组合字符的搜索比正常搜索速度慢。

正则表达式

Anki 2.1.24+、AnkiMobile 2.0.60+ 和 AnkiDroid 2.17+ 支持使用「正则表达式」在笔记中搜索,正则表达式是 一种标准而强大的文本搜索方式。

re: 开始搜索以使用正则表达式。为了简化操作,Anki 会将以下内容视为原始输入,因此请 记住那里的规则。

一些示例:

"re:(some|another).*thing"
找到带有「some」或「another」,后跟 0 个或多个字符,再后跟「thing」的笔记。

re:\d{3}
找到笔记中连续三个数字的笔记。

正则表达式也可以限定在特定字段中。请注意,与特定字段中的普通搜索不同,字段中的正则表达式不要求精确匹 配:

正面:re:[a-c]1
匹配出现在「正面」字段中的 a1、B1 或 c1(不区分大小写)。

正面:re:^[a-c]1$
与前一个示例相同,但如果在 a1/b1/c1 之前或之后有任何其他文本,则不匹配。

Anki 2.1.50+ 支持对标签使用正则表达式:

tag:re:^parent$
找到带有确切标签「parent」的笔记,不考虑任何子标签如「parent::child」。

"tag:re:lesson-(1[7-9]|2[0-5])"
找到带有「lesson-17」至「lesson-25」标签的笔记。

有关正则表达式的更多信息,请参见本网站

需要注意的一些事项:

  • 搜索默认不区分大小写;在搜索的开头使用 (?-i) 来开启区分大小写。
  • 某些文本如空格和换行在 HTML 中可能会有不同的表示——你可以在编辑窗口中使用 HTML 编辑器查看底层 HTML 内容。
  • 有关 Anki 正则表达式支持的具体细节,请参 见regex crate 文档

卡片状态

is:due
等待学习的复习中卡片和学习中卡片。

is:new
新卡片。

is:learn
在学习中的卡片。

is:review
复习(包括到期的和未到期的)和遗忘的卡片。

is:suspended
自动或手动暂停的卡片。

is:buried
自动或手动搁置的卡片。

遗忘的卡片属于前面几个类别中的一些,因此可能有必要结合不同的搜索关键词以获得 更准确的结果:

is:learn is:review
遗忘并等待重学的卡片。

-is:learn is:review
不包括遗忘卡片的复习卡片。

is:learn -is:review
第一次在学习中的卡片。

旗标

flag:1
带有红色旗标的卡片。

flag:2
带有橙色旗标的卡片。

flag:3
带有绿色旗标的卡片。

flag:4
带有蓝色旗标的卡片。

flag:5
带有粉色旗标的卡片。

flag:6
带有绿松石色旗标的卡片。

flag:7
带有紫色旗标的卡片。

卡片属性

prop:ivl>=10
间隔为 10 天或更长的卡片。

prop:due=1
明天到期的卡片。

prop:due=-1
昨天到期但尚未回答的卡片。

prop:due>=1
所有未来到期的卡片,包括明天。

prop:due<=-1
所有过期的卡片。

prop:due>-1 prop:due<1
昨天、今天和明天到期的卡片。

prop:reps<10
回答次数少于 10 次的卡片。

prop:lapses>3
遗忘次数超过 3 次的卡片。

prop:ease!=2.5
比默认简易度更容易或更难的卡片。

prop:cdn:d>5
在自定义数据中 d 的值大于 5 的卡片(通常指 FSRS 中的难度,需要 Anki 2.1.64+)。

prop:cds:v=reschedule
在自定义数据中 v 的值等于 reschedule 的卡片(需要 Anki 23.10+)。

以下搜索需要 Anki 23.10+ 并启用 FSRS:

prop:s>21
稳定性超过 21 天的卡片。

prop:d>0.3
难度超过 0.3 的卡片。

prop:r<0.9
可提取性低于 0.9 的卡片。

最近事件

添加

added:1
今天添加的卡片。

added:7
最近 7 天内添加的卡片。

检查是针对卡片创建时间而不是笔记创建时间进行的,因此在时间范围内生成的卡片即使其笔记是很久之前添加的 也会包含在内。

编辑

edited:n
笔记文本在最近 n 天内被添加/编辑的卡片。

这需要 Anki 2.1.28+ 或 AnkiMobile 2.0.64+。

回答

rated:1
今天回答的卡片。

rated:1:2
今天回答为困难(2)的卡片。

rated:7:1
最近 7 天回答为重来(1)的卡片。

rated:31:4
最近 31 天回答为简单(4)的卡片。

Anki 2.1.39+ 支持超过 31 天的评分搜索。

第一次回答

需要 Anki 2.1.45+。

introduced:1
今天第一次回答的卡片。

introduced:365
最近 365 天内第一次回答的卡片。

匹配特殊字符

如果你使用的是早于 Anki 2.1.36 的版本,以下搜索可能不起作用。

如上一节所示,一些字符如 *_" 在搜索中具有特殊含义。如果你需要在搜索中定位这些字符,需告 诉 Anki 不要将它们视为特殊字符。这称为「转义字符」,主要是通过使用双引号和反斜杠实现的。

  • 空格
    要匹配包含空格的内容,请将「整个关键词」用双引号括起来。如果是冒号搜索,你也可以选择只引用 部分:"在冒号之后"

  • And/Or
    要搜索 orand 的单词,用双引号包围它们。例如,dog "and" cat 搜索「dog」、「cat」和「and」 这个词。如果你像前面的例子那样用引号包围整个搜索关键词,则不需要转义 andor

  • ", *_
    在这些字符前加上反斜杠以将它们视为字面上。例如,_ 将匹配任何单个字符,但 \_ 只匹配实际的下划 线。

  • \
    因为反斜杠用于去除其他字符的特殊含义,它本身也被视为特别的。如果你需要搜索实际的反斜杠,请使用 \\ 而不是 \

  • ()
    你可以通过用引号括起整个关键词、使用反斜杠或同时使用这两者来搜索括号。例 如,"(text)"\ (text\ )"\(text\)" 是等价搜索,都搜索「(text)」。

  • -
    - 开头的搜索词通常会反转它:例如,-dog 匹配除了 dog 之外的所有内容。如果你希望包含实际的连 字符,可以使用反斜杠,或将文本包含在引号中。例如,\-free"-free" 将匹配「guilt-free」和 「cruelty-free」。

  • :
    除非冒号前面有另一个未转义的冒号,否则冒号必须使用反斜杠进行转义。例如,w:3:30 在单词边界上搜索 「3:30」,不需要使用反斜杠。然而,如果你不使用冒号搜索,则冒号需要像这样转义:3\:30

  • &<>
    &<> 在 Anki 中搜索时被视为 HTML,因此包含它们的搜索无法按预期工作。但是,你可以通过使 用它们对应的 HTML 实体名称进行搜索(&amp; 表示 &&lt; 表示 <&gt; 表示 >)。例如,搜 索 &amp;text 会在字段中搜索包含 &text 的笔记。

原始输入

由某些关键词(如 re:)前缀的文本将被视为原始输入。也就是说,上面列出的字符在很大程度上失去了它们的 特殊含义。在这样的上下文中,只需要最少的转义以防止歧义:

  • " 必须转义。

  • 空格和未转义的括号需要将搜索词加上引号。

  • 搜索词不能以奇数个反斜杠结尾。

对象 ID

nid:123
笔记 ID 为 123 的笔记

cid:123,456,789
卡片 ID 为 123、456 或 789 的所有卡片

笔记和卡片 ID 可以在浏览器中的卡片信息对话框中找到。这些搜索在进行插件开发或与数据库紧密 工作时也可能会有所帮助。

导入

原文:Importing - Anki Manual (ankiweb.net)

Anki 可以导入文本文件、通过导出功能创建的 Anki 包装牌组、Mnemosyne 2.0 的 .db 文件,以及 SuperMemo 的 .xml 文件。要导入文件,请单击文件菜单,然后选择「导入」。

文本文件

原文:Text Files - Anki Manual (ankiweb.net)

任何包含以逗号、分号或制表符分隔字段的纯文本文件都可以导入到 Anki,前提是满足一些条件。

  • 文件必须是纯文本(如 myfile.txt)。其他格式如 myfile.xls、myfile.rtf、myfile.doc 必须先保存为纯文 本文件。

  • 文件必须是 UTF-8 格式(见下文)。

  • 第一行还定义了分隔符号 —— 如果 Anki 在第一行找到 ';',它将使用该符号,如果找到逗号,也会使用逗号 等。

  • Anki 通过查看文件的第一行(非注释行)来确定文件中的字段数量。如果文件中的某些记录包含较少的字 段,Anki 会将缺失的字段视为空白处理。如果某些记录包含额外字段,额外的内容将不会被导入。

文本文件中的字段可以映射到笔记中的任何字段,包括标签字段。导入时可以选择文本文件中的哪个字段对应于笔 记中的哪个字段。

导入文本文件时,可以选择将卡片放入哪个牌组。请记住,如果你的模板中设置了牌组覆盖选项,卡片将转入该牌 组而不是你选择的牌组。

这是一个包含三个字段的有效文件示例:

apple;banana;grape
some text;other text;yet more text

有两种方式在字段中包含换行符或字段分隔符。

通过将字段内容放在直角引号中来转义字符

hello;"this is
a two line answer"
two;this is a one line field
"this includes a ; (semicolon)";another field

由于使用引号来标记字段的开始和结束,如果希望在字段中包含引号,需要用两个双引号替换一个双引号来「转 义」它们,如下所示:

field one;"field two with ""escaped quotes"" inside it"

当使用像 Libreoffice 的电子表格程序为你创建 CSV 文件时,它将自动处理双引号的转义。

使用 HTML 换行

hello; this is<br>a two line answer
two; this is a one line one

你需要在导入对话框中勾选「允许 HTML 字段」选项,HTML 换行才能生效。

如果使用包含多行的闭合删除,它们将无法正确工作。在这种情况下,请使用 HTML 换行。

你也可以在另一个字段中包含标签,并在导入对话框中选择该字段作为标签字段:

first field;second field;tags

这是一个有效文件的示例,其中第一行被忽略(#):

# this is a comment and is ignored
foo bar;bar baz;baz quux
field1;field2;field3

电子表格和 UTF-8

如果文件中包含非拉丁字符(如重音符号、日语等),Anki 期望文件以「UTF-8 编码」保存。使用免费的 LibreOffice 电子表格程序而不是 Excel 来编辑文件是最简单的方法,因为它轻松支持 UTF-8,同时还可以正确 导出多行内容,而 Excel 则不行。如果你仍想使用 Excel,请参阅 这个论坛帖子 获取更多信息。

要使用 LibreOffice 将电子表格保存为 Anki 可以读取的文件,请转到文件> 另存为,然后选择 CSV 作为文 件类型。在接受默认选项后,LibreOffice 会保存文件,然后你可以将保存的文件导入到 Anki。

HTML

Anki 可以将从文本文件中导入的文本视为 HTML(用于网页的语言)。这意味着带有粗体、倾斜和其他格式的文本 可以导出到文本文件并再次导入。如果要包含 HTML 格式,可以在导入时勾选「在字段中允许 HTML」选项。如果 试图导入内容包含尖括号或其他 HTML 语法的卡片,你可能希望关闭此选项。

如果希望在文件中使用 HTML 进行格式化,同时还希望包含尖括号或和号,可以使用以下替换:

字符替换符
<&lt;
>&gt;
&&amp;

导入媒体

如果希望从文本文件导入时包含音频和图片,请将这些文件复制到 collection.media 文件夹不要在媒体文件夹中放置子目录,否则部分功能将无法正常工 作。

在复制文件后,按以下方式更改文本文件中的一个字段。

<img src="myimage.jpg">

[sound:myaudio.mp3]

或者,你可以在浏览界面中使用查找和替换功能一次性更新所有字段。如果每个字段都包含如 「myaudio」的文本,且希望让它播放声音,可以搜索 (.*) 并替换为 "[sound:\1.mp3]",同时启用「正则表 达式」选项。

当导入包含这些引用的文本文件时,必须确保启用「允许 HTML」选项。

你可能会想在模板中这样做,如:

<img src="{{field name}}">

Anki 不支持这种做法,原因有两个:搜索使用的媒体消耗资源,因为每张卡片都必须被渲染,而此类功能对于共 享牌组的用户来说并不明显。请改用查找和替换技术。

批量媒体

批量导入大量媒体的另一种选择是使用媒体导入插件。此插件 会自动为你选择的文件夹中的所有文件创建笔记,文件名前部内容(去掉文件扩展名后,如 apple.jpg,则前部为 "apple")位于正面,图片或音频在背面。如果你希望媒体和文件名的安排不同,之后可 以更改创建的卡片的笔记模板

添加标签

如果你想为导入的每一行添加「tag1」和「tag2」,请在文本文件的开头添加以下内容:

tags:tag1 tag2

重复和更新

在导入文本文件时,Anki 使用第一个字段来确定一条笔记是否唯一。默认情况下,如果导入的文件的第一个字段 与集合中的现有笔记匹配,并且该笔记的模板与导入的模板相同,则现有笔记的其他字段将根据导入文件的内容进 行更新。导入界面中的下拉框允许你更改此行为,可以完全忽略重复,或将它们作为新笔记导入而非更新现有笔 记。

「匹配范围」设置控制如何识别重复。当选择「notetype」时,如果另一条笔记具有相同的 notetype 且第一个字 段相同,Anki 将识别为重复。当设置为「笔记模板和牌组」时,只有在现有笔记也在你要导入的牌组中时才会标 记为重复。

如果你开启了更新并且已在集合中存在你导入的笔记的旧版本,它们将更新就地(在当前牌组中),而不是移动到 你在导入对话框中设置的牌组中。如果笔记进行原位更新,它们的卡片上的现有安排信息将被保留。

有关 .apkg 文件中如何处理重复的信息,请参阅牌组包部分。

文件标题

Anki 2.1.54+支持可以包含在文本文件中的某些标题以使导入更强大或更方便。它们由 #键:值 对组成,必须单 独列在文件顶部的各行中,尽管标签行可以在它们之前。由于标题行以注释字符 # 开始,早期的 Anki 客户端将只会忽略它们。

你必须在首选项界面中启用新的导入选项才能在 2.1.54 上使用此功能。在 2.1.55 上,新的导入路径是默认路 径。

允许值行为
separator逗号, 分号, 制表符, 空格, 竖线符, 冒号 或相应的文字字符确定字段分隔符。
htmltrue, false确定文件是否被视为 HTML。
tags用空格分隔的标签列表旧语法
columns用先前设置的分隔符分隔的名称列表确定列数并在导入时显示其给定名称。
notetype笔记模板名称或 id如果存在,则预设笔记模板。
deck牌组名称或 id如果存在,则预设牌组。
notetype column1, 2, 3, ...确定哪一列包含每个笔记的笔记模板名称或 id,见笔记模板列
deck column1, 2, 3, ...确定哪一列包含每个笔记的牌组名称或 id,见牌组列
tags column1, 2, 3, ...确定哪一列包含每个笔记的标签。
guid column1, 2, 3, ...确定哪一列包含每个笔记的 GUID,见GUID 列

一些标题有进一步的影响。

笔记模板列

通常,文件中的所有笔记都会映射到单一笔记模板,你可以选择哪个列映射到该笔记模板的哪个字段。

然而,如果有一列包含笔记模板名称或 id 时,这就会发生变化。这允许导入不同笔记模板的笔记,其字段将隐含 映射:第一个常规列用于任何笔记的第一个字段,无论其笔记模板是什么,第二个常规列用于第二个字段,依此类 推。这里所说的「常规列」是指不包含特殊信息的列,比如牌组、标签、笔记模板或 GUID。

牌组列

通常,导入文本文件产生的任何新卡片都会放置在你选择的单一牌组中。如果文件中包含牌组列,则新笔记的卡片 将放置在其指定的牌组中。如果牌组不存在,将创建一个具有给定名称的牌组。

GUID 列

GUID 代表全局唯一标识符。当你在 Anki 中创建笔记时,Anki 为每个笔记分配一个唯一 ID,可以用于重复检 查。如果你导出笔记时包含 GUID,你可以对笔记进行更改,并且只要不修改 GUID 字段,你就可以重新导入笔记 以更新现有笔记。

请注意,GUID 旨在由 Anki 创建。如果你正在创建自己的 ID,比如 MYNOTE0001,建议将 ID 放在第一个字段 中,而不是将它们分配给 Anki 的内部 GUID。导入时,Anki 可以使用第一个字段或 GUID 进行重复检查,因此你 不需要将 ID 制作成 GUID 以便能够更新笔记。

需要注意的另一件事是,对于具有非空 GUID 的行,「重复」选项将不起作用。如果提供了 GUID,并且在集合中 已经存在,将不会创建重复。

打包的牌组

原 文:Packaged Decks - Anki Manual (ankiweb.net)

Anki 包文件(.apkg 文件)使你能够从其他用户处导入牌组、笔记、笔记模板和卡片。它们通常在 AnkiWeb 上分享。

计划安排

Anki 包文件也可能包含计划信息,这在你想在设备或个人资料之间转移牌组时非常有用。然而,当导入由他人分 享的牌组时,你通常不希望采用他们的卡片间隔或复习历史。

如果你遇到间隔异常大的导入卡片,牌组作者可能意外包含了他们的计划信息。你可以使用 设置到期日期功能来重置导入的卡片。在 Anki 23.10 及更高版本,你可以在导入过程 中取消选择「导入任何学习进度」选项,以移除任何计划信息。这也会移除导入卡片上的任何「不好」或「标记」 标签。

更新

当你导入 .apkg 文件时,Anki 会识别出由于先前的导入,文件中已存在于你的集合的任何笔记。如果文件中的笔 记比你的本地副本更新,默认情况下笔记将用文件的内容更新。

如果笔记模板发生了变化(例如,如果你或牌组作者对笔记模板做了额外字段的添加等操作),通常无法进行此更 新过程。你仍然可以从文件中导入任何缺失的笔记,但如果牌组作者进行了更改,则你之前导入的笔记将不会更 新。

Anki 23.10 及更高版本

Anki 23.10 引入了更大的灵活性:你可以选择无条件地更新笔记和笔记模板,总是覆盖你的修改,或者,另一种 方式,永远不更新现有的对象。

此外,如果你和牌组作者都修改了相同的笔记模板,你现在可以决定「合并」这两个版本。这将保留两个版本中的 所有模板和字段,但需要完全同步,并可能标记其他现有笔记为已修改。

对牌组作者的说明

合并依赖于模板和字段 id,这在 Anki 2.1.67 中引入。如果模板或字段缺少 id,因为它是在早期版本中创建 的,Anki 会尝试通过比较名称找到等效项。

请参阅这个插件,了解为何共享具有字段和模板 id 的笔记类 型是有利的,以及如何将它们添加到现有的笔记模板中。

适用于 Anki 2.1.66 及更早版本的解决方法

如果你知道牌组作者进行了更改,并希望获得这些更改,虽然可以更改回笔记模板,但相当困难。你需要执行以下 操作:

  • 创建一个新的配置文件,并将 .apkg 文件导入其中。
  • 在浏览界面中定位一个未能更新的笔记并选择它。
  • 使用「字段和卡片」按钮检查字段名称和卡片模板名称,并记下它们。
  • 使用调试控制台确定笔记模板 id。它将在最后一行 显示。
nt = bcard().note().note_type()
print("notetype", nt["name"], "has id", nt["id"])
  • 返回到你的正常配置文件,定位相同的卡片并选择它。在调试控制台中运行以下命令,将 xxx 替换为你上面 获得的 ID:
nt = bcard().note().note_type()
print("current:", nt["name"], "has id", nt["id"])
nt = mw.col.models.get(xxx)
print("desired:", nt["name"], "has id", nt["id"])
  • 如果它打印出两个不同的笔记模板名称,你需要使用「更改笔记模板」操作将现有笔记的笔记模板更改为所需的 模板。

  • 然后你需要使用「字段和卡片」按钮检查字段和模板名称是否与测试配置文件中的匹配。它们必须精确匹配——不 能多也不能少,且拼写应相同。

导出

原文:Exporting - Anki Manual (ankiweb.net)

导出功能允许你将集合的一部分保存为文本文件或打包的 Anki 牌组。要导出,请点击「文件」菜单并选择「导 出」。

文本文件

如果你选择「纯文本笔记」,Anki 将会把笔记的内容写入一个文本文件中。每个字段由一个制表符分隔。如果你 编辑了生成的文件,并且没有修改第一个字段,则可以稍后将该文件重新导入 Anki,Anki 将根据你的编辑更新笔 记,前提是你导入到相同的笔记模板中。

如果你发现自己也需要编辑第一个字段,则需要更改笔记模板的格式,使第一个字段是一个 ID 号,而不是实际文 本。(你可以安装添加笔记 ID 插件来简化这一过程。)

为了在重新导入文本时保留格式,文本会以嵌入所有 HTML 格式的方式进行导出。

打包牌组

一个「打包牌组」由卡片、笔记、笔记模板以及任何声音或图像组成,这些都被打包成一个以 .apkg 或 .colpkg 结尾的文件。你可以使用打包牌组在不同人之间传输卡片,或者备份集合的一部分。

有两种不同类型的打包牌组。

集合 (.colpkg)

当你选择导出所有牌组且包含调度信息时,这称为「集合文件」。Anki 将你的整个集合复制到一个以 .colpkg 结 尾的文件中,并将其放置在桌面上。集合文件用于备份你的集合,或将其复制到另一台设备上。

使用旧版本 Anki 创建的集合文件被称为 collection.apkg。

稍后导入此文件时,Anki 会删除集合中的所有当前卡片,并用文件中的项目替换集合。这对于在设备之间来回复 制集合非常有用。

导入集合文件时,集合中现有的媒体不会被删除。要删除未使用的媒体,请使用 工具>检查媒体。

如果你选择 Anki 2.1.50+ 集合文件格式,导入和导出将更快,媒体文件将会被压缩,但生成的 .colpkg 文件将 无法被较旧的 Anki 客户端读取。

牌组 (.apkg)

牌组包包含一个牌组(以及它可能包含的任何子牌组)。它们的文件名以 .apkg 结尾,但文件名不同于 collection.apkg。当你导入一个牌组包时,Anki 会将其内容添加到你的集合中,而不是覆盖你的集合。

如果牌组包中的一些笔记之前已被导入,Anki 将保留最近修改时间的版本。因此,如果你下载了一个更新的牌 组,更新版本中所做的编辑会在你的集合中体现出来,但如果在集合中进行了编辑后重新导入一个未更改的牌组, 集合中的更改将会被保留。

如果你选择不包含调度信息,Anki 会假定你在与他人共享牌组,并会清除标记和记忆难点标签,这样他们就会有 一个干净的副本。

备份

原文:Backups - Anki Manual (ankiweb.net)

自动备份

Anki 会自动创建你的卡片数据的备份。这些数据包括卡片上的文本和进程信息,但不包括声音或图像文件。

自动备份可以帮助你从错误中恢复,但你不应仅依赖于它们。因为它们存储在你的本地设备上,如果你的设备损坏 或丢失,它们无法保护你。我们建议你将它们与手动备份结合使用。

恢复

要从自动备份中恢复:

  • 打开 Anki,并从文件菜单中选择切换配置文件。
  • 点击「打开备份」按钮。
  • 选择你希望恢复的备份。

从备份中恢复时,自备份创建以来的任何更改都将丢失。

当你从备份中恢复时,Anki 会禁用自动同步和备份。一旦你确认已正确恢复了备份,关闭并重新打开 Anki 以恢 复正常。

Anki 2.1.50+

备份会定期创建。你可以在首选项界面中配置备份间的时间。默认是 30 分钟。

某些操作即使在设定时间未到之前,也会触发备份:

  • 单向同步下载
  • 使用「文件> 入」导入 .colpkg 文件
  • 工具>检查数据库

当备份超过两天时,Anki 将开始删除一些较旧的备份。你可以控制希望保留多少每日、每周和每月的备份。

使用 2.1.50 创建的备份无法导入到较旧的 Anki 版本中。

较旧的 Anki 版本

每当你的集合关闭时(关闭 Anki、切换配置文件或进行完整的同步下载时),Anki 会创建一个备份。默认情况下 它会保存最多 30 个备份;你可以在首选项中进行调整。

手动 colpkg 备份

恢复

你可以通过使用「文件>导入」从手动备份中恢复。

创建

在 Anki 2.1.50+ 中,你可以使用「文件>创建备份」来触发立即备份。这就像普通的自动备份一样,不包括媒体 文件。

要创建包含你的声音和图像的备份:

  • 从文件菜单中选择导出。
  • 确保选择「Anki 集合文件 (.colpkg)」。
  • 启用「包含媒体文件」选项。

这将创建一个包含你所有卡片及其使用的任何声音/图像的 .colpkg 文件。我们建议你将文件存放在安全的地方, 比如其他设备,或者像 Dropbox 或 Google Drive 这样的基于云的文件存储服务。

AnkiWeb

将你的集合与 AnkiWeb 同步提供了一定程度的保护,以防设备丢失或被盗。如果你需要从 AnkiWeb 恢复你的集合,可以在首选项界面中强制执行单向同步,或从新设备同步,然后选择「下载」。

删除日志

Anki 将删除的笔记记录到你的配置文件文件夹中的一个名为 deleted.txt 的文本文件中。这些笔记采用文本格 式,可以通过「文件>导入」读取,但请注意导入功能一次仅支持单一笔记模板,因此如果你删除了不同笔记模板 的笔记,你需要先将文件分成不同笔记模板的文件。

管理文件和你的集合

原文:Managing Files - Anki Manual (ankiweb.net)

检查你的集合

偶尔检查一下你的集合文件是否有问题是个好主意。你可以通过工具菜单中的检查数据库项来执行这项操作。检查 数据库可以确保文件没有损坏,重建一些内部结构,并优化文件。

当你检查数据库时,你的标签列表也会被重建。当你删除单个牌组或卡片时,Anki 不会更新使用过的标签列表, 因为这样做效率不高。如果你想清除列表中不再使用的旧标签,检查数据库是实现这一目的的办法。

请注意,Anki 每两周会自动优化你的集合。这种优化可以确保集合的良好性能,但是在自动优化时并不会检查错 误或重建标签列表。

文件位置

Windows 上,最新版的 Anki 会将你的 Anki 文件储存在应用数据文件夹中。你可以通过打开文件管理 器,并在位置字段中输入 %APPDATA%\Anki2 来访问它。旧版本的 Anki 将你的 Anki 文件储存在 Documents 文件夹中的一个名为 Anki 的文件夹中。

Mac 电脑上,最近的 Anki 版本将所有文件储存在 ~/Library/Application Support/Anki2 文件夹中。 该文件夹默认是隐藏的,但可以通过在 Finder 中按住 option 键并点击前往菜单来显示。如果你使用的是旧版 Anki,你的 Anki 文件会在 Documents/Anki 文件夹中。

Linux 上,最近的 Anki 版本会将数据储存在 ~/.local/share/Anki2 中,或者如果你设置了自定义数 据路径,则储存在 $XDG_DATA_HOME/Anki2 中。旧版本的 Anki 会将文件储存在 ~/Documents/Anki~/Anki 中。

在 Anki 文件夹中,会有程序级别和配置文件级别的首选项储存在一个名为 prefs.db 的文件中。

每个配置文件都有一个单独的文件夹。该文件夹包含:

  • 你的笔记、牌组、卡片等数据保存在名为 collection.anki2 的文件中

  • 你的音频和图像保存在 collection.media 文件夹中

  • 一个备份文件夹

  • 一些系统文件

你不应该在 Anki 打开的情况下复制或移动你的集合。这样做可能会导致你的集合损坏。请也不要移动或修改文件 夹中的其他文件。

启动选项

如果你在一台电脑上进行了破坏性的更改,而在另一台电脑上有未损坏的副本,你可能希望在不进行同步的情况下 启动 Anki,以便使用完整的同步选项而不需要先下载更改。同样地,如果你在使用 Anki 时遇到问题,你可能希 望(或被指示)暂时禁用插件,以查看是否有插件导致了问题。你可以在启动 Anki 时按住 Shift 键 来执行这两个操作。

在启动期间指定自定义文件夹位置是可能的。这是一个主要用于便携安装的高级功能,我们建议你在大多数情况下 使用默认位置。

指定备用文件夹的语法如下:

anki -b /path/to/anki/folder
  • 如果你有多个配置文件,你可以传递 -p <name>; 来加载一个特定的配置文件。

  • 如果你传递 -p some-fake-name,Anki 将在启动时显示配置文件窗口。如果没有提供配置文件,将加载最后使 用的配置文件。

  • 要更改界面语言,请使用 -l <iso 639-1 language code>,例如 "-l ja" 表示日语。

如果你总是想使用自定义文件夹位置,你可以修改 Anki 的快捷方式。在 Windows 上,右键点击快捷方式,选择 属性,选择快捷方式选项卡,然后在程序路径后添加 "-b \path\to\data\folder",这样应该会给你类似于

"C:\Program Files\Anki\anki.exe" -b "C:\AnkiDataFolder"

的结果。

你也可以将这种技术与 -l 选项结合使用,以便轻松在不同语言中使用 Anki。

在 Windows 上,应使用反斜杠 (\) 而不是正斜杠 (/)。

在 Mac 上,没有简单的方法来在点击 Anki 图标时改变行为,但可以从终端启动 Anki 并使用自定义基文件夹:

open /Applications/Anki.app --args -b ~/myankifolder

另一种方法是定义环境变量 "ANKI_BASE"。在 Windows 上,你可以定义这个环境变量如下:

set "ANKI_BASE=C:/path/to/AnkiDataFolder"

在 Linux 和 macOS 上,你可以使用:

export ANKI_BASE="/path/to/AnkiDataFolder"

DropBox 和文件同步

我们不建议你直接使用第三方同步服务同步你的 Anki 文件夹,因为在文件使用中进行同步会导致数据库损坏。

如果你只是想同步媒体,可以将外部文件夹链接到像 DropBox 这样的服务中。请参阅 DropboxWiki:同步 Dropbox 以外的文件夹 (archive.org) 了解更多信息。

如果你还希望保持集合同步,强烈建议你创建一个脚本,将文件从同步文件夹复制到本地文件夹,启动 Anki,然 后在 Anki 关闭后将文件复制回去。这样可以确保文件在打开时不会被同步。

网络文件系统

我们强烈建议你将 Anki 文件存储在本地硬盘上,因为网络文件系统可能导致数据库损坏。如果网络文件系统是你 唯一的选择,建议经常使用工具菜单中的检查数据库来检测损坏。

从闪存驱动器运行

在 Windows 上,Anki 可以安装在 USB / 闪存驱动器上,并作为便携应用程序运行。下面的示例假设你的 USB 驱 动器是 G 盘。

  • 将 \Program Files\Anki 文件夹复制到闪存驱动器,这样你会有一个像 G:\Anki 的文件夹。

  • 创建一个名为 G:\anki.bat 的文本文件,包含以下文本:

    g:\anki\anki.exe -b g:\ankidata

如果你希望防止黑色命令提示窗口保持打开状态,你可以改用以下命令:

start /b g:\anki\anki.exe -b g:\ankidata
  • 双击 anki.bat 应该会启动 Anki,并将用户数据存储在 G:\ankidata 中。

需要完整路径,包括驱动器号 - 如果你尝试使用 \anki\anki.exe 进行同步,它将无法工作。

如果你的闪存驱动器格式为 FAT32,AnkiWeb 上的媒体同步可能不起作用。请将驱动器格式化为 NTFS 以确保媒体 能正确同步。

备份

请参阅本节

硬盘无法访问

如果 Anki 无法写入 Anki 文件夹中的文件,启动时会显示一条消息,表示 Anki 无法写入硬盘, 并将关闭。如果你不确定如何修复权限,请联系对计算机有知识的人来帮你。

临时文件夹权限

Anki 使用系统的临时文件夹来存储临时数据。如果该文件夹的权限被恶意应用或有缺陷的杀毒软件更改过,Anki 将无法正常运行。

如果你在 Windows 7 系统上,解决问题的一般步骤如下。由于这有些复杂,如果你不确定,请询问对 Windows 知 识丰富的人。

  1. 点击开始栏,输入 %temp%(包括百分号),然后按 回车

  2. 返回上一文件夹,定位到 temp 文件夹。右键点击它,然后选择属性。

  3. 在安全选项卡中,点击高级。

  4. 点击所有者选项卡。如果你不是所有者,点击按钮获取所有权。

  5. 在权限选项卡,确保你有完全控制权限。在默认的 W7 安装中,控制实际上是由 c:\users\your-username 继承的。

损坏的集合

Anki 使用一个防止程序和计算机崩溃的文件格式,但如果在 Anki 开启时修改了文件、文件储存在网络驱动器上 或被 bug 损坏,集合仍有可能损坏。

当你运行工具菜单中的检查数据库时,如果 Anki 检测文件已损坏,将会收到一条消息。恢复的最佳方法是从最 近的自动备份中恢复,但如果你的备份太旧,可以尝试修复损坏。

在 Linux 上,确保安装了 sqlite3。在 Mac 上,它应该已经安装。在 Windows 上,下载 http://www.sqlite.org/sqlite-3_6_23.zip

接下来,备份你的 collection.anki2 文件,以防下面的操作出现问题。

Linux/macOS

打开终端,切换到集合所在的文件夹,并输入:

sqlite3 collection.anki2 .dump > dump.txt

在文本编辑器中打开生成的 dump.txt 文件,查看最后一行。如果显示「rollback;」,将其更改为「commit;」。

然后在终端中运行以下命令:

cat dump.txt | sqlite3 temp.file

确保使用 temp.file - 不要在右侧放置 collection.anki2,否则将覆盖文件。完成后,继续进行最后一步。

Windows

sqlite3.exe 程序和你的牌组复制到桌面上。然后进入 Start>Run,输入 cmd.exe

如果你使用的是较新的 Windows,命令提示符可能不会在桌面上启动。如果在命令提示符中没有看到桌面,输入如 下内容,将 "administrator" 替换为你的登录名。

cd C:\Users\Administrator\Desktop

然后输入:

sqlite3 collection.anki2 .dump > dump.txt

在文本编辑器中打开生成的 dump.txt 文件,查看最后一行。如果显示「rollback;」,将其更改为「commit;」。

然后在终端中运行以下命令:

type dump.txt | sqlite3 temp.file

确保使用 temp.file - 不要在右侧放置 collection.anki2,否则将覆盖文件。完成后,继续进行最后一步。

最后一步

检查是否没有收到错误信息,并且 temp.file 不是空的。此过程在优化集合过程中是正常的,因此新文件通常会 比旧文件小一些。

在确认文件不为空后:

  • 将原始的 collection.anki2 文件重命名为其他名称

  • 将 temp.file 重命名为 collection.anki2

  • 将 collection.anki2 移回到你的集合文件夹中,覆盖旧版本

  • 启动 Anki 并进入工具菜单中的检查数据库,以确保集合已成功恢复。

卡片信息、图表和统计

原文:Statistics - Anki Manual (ankiweb.net)

卡片信息

你可以通过使用「卡片>信息」菜单项,通过右键单击卡片然后选择信息,或在复习界面按 I 来显示一张卡片的信息。

卡片信息

几点说明:

位置
它显示了卡片相对于其他新卡片出现的顺序。位置可以在浏览器中更改。一旦卡片已被学习,位置将不会使用,除 非将卡片手动重置为新卡。

间隔
从一次复习到下一次复习的间隔。时间是缩写的;「0 秒,1 分,3 小时,4 天,5 个月,6 年」分别代表秒、分 钟、小时、天、月和年。

简易度
当你用「良好」按钮回答复习卡片时,间隔的大致增长倍数。

底部部分显示了卡片的复习历史。评分表示按钮(1 = 重来,4 = 简单)。当卡片通过「重置」或「设置到期日 期」动作手动重新安排时,类型将列为手动,评分为 0。

统计

通过单击主窗口顶部的统计按钮,或按 T 可以访问统计窗口。

统计界面

选择牌组 / 集合

牌组

默认情况下,统计窗口将显示当前选择的牌组及其可能包含的任何子牌组的统计信息,但你可以通过在界面顶部的 文本框中输入其名称来从集合中选择任何牌组,或者(从 Anki 2.1.61 开始),使用底部的牌组选择器选择。

集合

如果你选择此复选框,则将显示整个集合的统计信息。你还可以通过在顶部的搜索框中添加筛选器来显示任意搜索 的图表(2.1.28+)。

历史

默认情况下,Anki 2.1.28+ 将显示过去 12 个月的统计信息。你可以在顶部将其更改为所有历史范围或牌组生命 期范围。(顶部的「今天」部分当然不受这个选择的影响。)

较早版本的 Anki 默认会显示上个月的统计信息。你可以在底部将其更改为一年范围或牌组生命期范围。(同样, 顶部的「今天」部分不受此选择影响。)

更多

  • 单击底部的「保存为 PDF」将统计信息的 PDF 文档保存到桌面上的文件中,以便于与你人分享统计信息。

  • 当你删除笔记时,其复习历史仍会保留在 Anki 中。查看特定牌组的统计信息时将不会包含这些历史(因为 Anki 无法知道删除的卡片属于哪个牌组),但查看整个集合的统计信息时将包含这些历史。

  • Anki 2.1.28+ 引入了重新设计的图表。通过 Shift 单击统计按钮可以仍然访问旧图表。

今天

统计窗口顶部是一个简要的文本统计列表,显示你今天完成的复习。在这个上下文中,「复习」是指「一次卡片的 回答」,所以如果卡片需要多次查看,那么它可能会被算作多次复习,而回答过的学习卡片也算作「复习」。一些 可能不太直观的统计数据:

重来次数
这是你失败的复习(即按下重来)的次数。后面列出的正确百分比是你「未」失败的卡片数量与你学习的卡片总数 之比。

学习、复习、重学、已筛选
这是初学卡片、复习卡片、重学卡片,或在未到期时在筛选牌组中学习的复习数量。

当天的统计数据不是你学习进展的良好总体指标;每个人都有不好的日子和好的日子,看到某一天的正确百分比较 低不应该引起担忧。其余统计数据将考虑更长的时间段,如果你希望根据表现来调整学习习惯或计划设置,这将会 提供更有用的信息。

「今天」的统计数据不受窗口底部选择的时间范围影响。

图表

预测
此图表显示如果你不学习新卡片且没有卡片失败,未来某一天预计到期的复习数。柱状图和左轴显示每天到期的卡 片数,即如果你每天都学习所有卡片的话,而线图和右轴则显示如果直到那时你完全不学习,每天到期的卡片数。 请注意,预测图不计算当前逾期的复习,因此如果你有大量积压,逾期卡片将不显示。

日程表
此图表显示过去的卡片复习活动。将鼠标悬停在特定项目上可以查看当天的复习次数。单击星期几可以设置为开始 日。

复习次数
此图表统计你已完成的卡片复习次数。柱状图可能对应的时间段为天、周或月,具体取决于你在界面底部选择的时 间段。不同颜色的块显示你每天回答的卡片中有多少是已熟练、欠熟练、重新 学习或学习卡片。还有一个单独的组用于在筛选/死记硬背牌组中回答的卡片,这些卡片在当时未到期。线图和右 轴则显示随时间推移的每种类型的复习累积总数(所以在 0 天时会显示图表显示的整个时间段的数字)。

卡片数量
这个饼状图显示你的牌组或集合中未学习、学习中、欠熟练、已熟练和已搁置/暂停的卡片的百分比。如果你希望 计算更精确的百分比,图例显示了每个部分中的卡片确切数量,卡片总数显示在旁边。

复习时间
这个图表的工作原理与复习计数相同,只不过它处理的是你花在每张卡片上的时间,而不是回答的卡片数量。

复习间隔
该图表显示具有给定间隔(两次复习之间的间隔)的卡片数量。线图和右轴告诉你间隔小于或等于该点以下时间的 卡片百分比。时间范围对该图表的影响不同于其他图表:与其更改包含哪些卡片或学习期间,它限制显示间隔的远 度(因此 14 个月的间隔在一年图表上根本不显示)。

卡片简易度
此图表显示具有特定简易度系数的卡片数量。所选牌组/集合的平均简易度也在此显示。

逐小时分析
此图表显示在给定时间内你总共通过了多少百分比的复习(即未按重来)。较大、较深的条和左轴显示成功率;较 细、较亮的条和右轴显示你在该小时内完成的复习数量(这样你就知道结果有多重要)。

回答按钮
此图表显示在学习新/学习卡片、欠熟练卡片和已熟练卡片时你选择「重来」、 「困难」、「良好」或「简单」按钮的次数。Anki 还显示每种状态的卡片的正确复习百分比。

手动分析

如果你对获取 Anki 提供的信息之外的统计数据感兴趣,可以直接访问数据。由于涉及的复杂性,我们无法为此提 供任何支持。

一个选项是编写一个插件,以在统计窗口中添加其他图表或更多详细信息。AnkiWeb 上已经有几个 这样的插件,你可以查看了解其工作方式。

一个更强大且更复杂的选项是直接从 Anki 的数据库中提取复习日志信息并在外部程序中分析它。Anki 使用一种 称为 SQLite 的数据库格式。有许多工具可用于处理 SQLite 数据库;一个最简单的入门工具叫做 SQLite Browser,它允许你查看数据库并导出 CSV 版本的表,以便导入到其他程 序中。

统计数据中最重要的表是「revlog」表,它存储了你进行的每次复习的条目。各列如下:

id
复习进行时的时间,以自 1970 年 1 月 1 日午夜 UTC 起经过的毫秒数。(这有时被称为「Unix 纪元时间」,特 别是以秒而不是毫秒为单位时。)

cid
已复习卡片的 ID。你可以在「cards」表的 id 字段中查找此值以获取更多关于卡片的信息,不过请注意卡片在记 录 revlog 条目和你查它的时候可能已经更改。也就是卡片创建时间的毫秒时间戳。

usn
此列用于跟踪复习的同步状态,对分析没有有用的信息。

ease
复习结束时你按下的按钮(1 为重来,4 为简单)。

ivl
复习后卡片被推到的新间隔。正值为天;负值为秒(用于学习卡片)。

lastIvl
卡片复习前的间隔。首次引入的卡片的最后一次间隔等于「重来」的间隔。

factor
卡片的新简易度系数,以每千分之几为单位。如果简易度系数为 2500,下次你按「良好」时卡片间隔将乘以 2.5。

time
你在选择评分按钮之前花在卡片的问答两面上的时间(以毫秒为单位)。

type
初学为 0,复习为 1,重学为 2,提前学习为 3(这些卡片在它们未到期时在筛选牌组中进行学习)。

媒体

原文:Media - Anki Manual (ankiweb.net)

Anki 将你笔记中使用的声音和图像存储在靠近集合的一个文件夹中。有关文件夹位置的更多信息,请参阅 文件位置部分。当你在 Anki 中添加媒体时,无论是使用编辑器中的回形 针图标,还是将其粘贴到字段中,Anki 都会将其从原位置复制到媒体文件夹中。这使得备份集合的媒体或将其移 动到其他计算机上变得简单。

如果你的媒体文件名包含空格或其他特殊字符(如百分号),则文件名在 HTML 编辑器中的显示方式将与在磁盘上 的显示方式不同。例如,一个名为 hello 100%.jpg 的文件将在 HTML 编辑器中显示为 hello%20100%25.jpg。在内部,Anki 仍使用原始文件名,因此如果你希望搜索文件或使用 查找并替换修改文件名,则需要使用磁盘上的名称,而非 HTML 编辑器中的名称。导 出到文本文件是查看底层表示的另一种方法。

检查媒体

你可以使用工具菜单中的「检查媒体」选项来扫描你的笔记和媒体文件夹。它将生成一个报告,列出媒体文件夹中 未被任何笔记使用的文件,以及笔记中引用但在你的媒体文件夹中缺失的媒体。它还允许你:

  • 删除未使用的媒体文件。
  • 标记引用缺失媒体文件的笔记。
  • 清空你的回收站文件夹。
  • 将已删除的文件恢复到你的媒体文件夹。

此工具不会扫描问题或答案模板,这就是为什么你不能在模板中引用字段中的媒体。如果你需要在每张卡片上放置 静态图像或声音,请在文件名前加上下划线(例如,_dog.jpg),以告知 Anki 在检查媒体时忽略它。当你使用 未使用的媒体检查删除媒体时,Anki 会将其移动到你的操作系统的回收站中,因此如果你误删了不该删除的媒 体,可以恢复它。

手动添加媒体

当你通过 Anki 的界面添加媒体时,Anki 会确保文件名经过编码,可以在不同的设备上正常工作,删除不适用于 某些操作系统的字符,并截断非常长的文件名。

如果你手动将文件添加到媒体文件夹,你应该在之后使用工具菜单中的「检查媒体」,以 确保文件名编码正确。如果跳过此步骤,任何不兼容的文件名在同步时将被跳过。

支持的格式

Anki 使用一个名为 mpv 的程序(在必要时使用 mplayer 作为备选),以支持声音和视频。支持多种文件格式, 但并非所有格式都能在 AnkiWeb 和移动客户端上工作。MP3 音频和 MP4 视频似乎是最通用的支持格式。

数学和符号

原文:Math & Symbols - Anki Manual (ankiweb.net)

MathJax

MathJax 是一个现代的基于浏览器的排版系统,适用于数学和化学方程。它不需要 安装任何额外的软件,因此非常易于使用,并且推荐给大多数用户。

Anki 2.1+、AnkiMobile 和 AnkiDroid 2.9+ 中已开箱即用地支持 MathJax。

尝试使用它:

  1. 在一个字段中输入以下内容:

    \sqrt{x}

  2. 选择你刚刚输入的文本。

  3. 点击编辑器中最右侧的按钮,从菜单中选择「MathJax inline」。Anki 会将文本更改为:

    (\sqrt{x})

  4. 如果你点击「卡片…」按钮,你会看到卡片复习时方程的预览。

Anki 的 MathJax 支持期望内容为 TeX 格式。如果你不熟悉 TeX 格式,请查看 这个速查表。 请注意,第二点在 Anki 中不适用——Anki 使用 \(\) 表示行内方程,使用 \[\] 表示显示方 程。

如果你想在 MathJax 表达式中使用换行符,请用 Shift+回车,而不是仅仅使用 回 车,因为普通的换行符会导致 MathJax 无法正常工作。

Anki 内置了对 mhchem 的支持来渲染化学方程。请参见「化学方程」部分和以下章节以获取更多信息: https://mhchem.github.io/MathJax-mhchem/

可以自定义一些设置

LaTeX

LaTeX 是一个强大的排版系统,适用于输入数学公式、化学公式、音乐符号等。Anki 提供了一些对 LaTeX 的支 持,允许你在笔记中输入 LaTeX 代码。当你复习卡片时,Anki 会调用 LaTeX 并显示生成的图像。

设置 LaTeX 需要更多的工作,并且图像只能由计算机版本的 Anki 生成——不过一旦生成,这些图像就可以在移动 端显示。由于 LaTeX 带来的额外复杂性,只推荐需要比 MathJax 提供的更多功能的用户使用。

安全警告

LaTeX 代码可能包含恶意命令,可能会读取或写入你计算机上的非 Anki 数据。因此,最新版的 Anki 默认拒绝生 成 LaTeX 图像。

如果你希望在自己的卡片上使用 LaTeX,需要在首选项界面启用「生成 LaTeX 图像」选项。

我们强烈建议不要在使用共享牌组或计划将来导入共享牌组时启用此选项,因为你可能会给任何共享牌组的作者 访问你的计算机的权限

对于共享牌组不需要启用此选项。如果共享牌组的作者在分享牌组之前已正确生成所有图像,图像应该已经可用 了。

预备知识

Anki 的 LaTeX 支持并非即插即用:假定你已经知道如何使用 LaTeX,并且已经安装了它。如果你没有 LaTeX 经 验,请查阅互联网中众多可用指南。如果你在标记上遇到困难,请在 LaTeX 论坛上进行询问。

在 Windows 上,使用 MiKTeX 安装 LaTeX;在 macOS 上使用 MacTeX,在 Linux 上使用发行版的包管理器。还必 须安装 dvipng。

在 Windows 上,进入 MikTeX 的维护窗口,确保「Install missing packages on the fly」设置为「Always」, 而不是「Ask me first」。如果问题仍然存在,有用户反馈以管理员身份运行 Anki 直到获取所有包有所帮助。

在 macOS 上,仅在 MacTeX 和 BasicTeX 上测试过 LaTeX。如果你使用 BasicTeX,需要单独安装 dvipng,使用 以下命令:

sudo tlmgr update --self; sudo tlmgr install dvipng

该命令可能不在路径上,所以你可能需要提供完整路径,例如 /usr/local/texlive/2014basic/bin/x86_64-darwin/tlmgr。

如果没有使用上述 LaTeX 包,你需要使用 edit LaTeX 插件来 指定 latex 和 dvipng 的完整路径。

网页/移动设备

当你复习带有 LaTeX 的卡片时,Anki 会为该 LaTeX 生成一个图像,并将图像放在你的集合的媒体文件夹中以供 将来使用。网页和移动客户端将显示这些已有的图像,但无法自行生成图像。

为了避免在其他客户端学习之前必须至少复习所有的卡片一遍,Anki 可以为你批量生成图像。要生成所有图像, 请转到工具 > 检查媒体。之后,同步应将生成的媒体上传到 AnkiWeb 和其他客户端。

示例

输入 LaTeX 内容最常用的方法是用 [latex] [/latex] 标签将其包裹。编辑器部分记录了快捷按钮。

[latex] 标签必须在字段中使用——将它们放在卡片模板中会导致问题

例如,在 Anki 抽认卡正面输入以下内容:

[latex]\begin{math}\sum\_{k = 1}^{\infty}\frac{1}{k}\end{math}[/latex] 收敛吗?

当查看抽认卡时,将会生成:

收敛性问题

上例中的公式称为文本公式,因为它直接显示在非数学文本中。相对地,以下示例显示的是显示公式:

下面这个求和是否收敛?

[latex]\begin{displaymath}\sum\_{k = 1}^{\infty}\frac{1}{k}\end{displaymath}[/latex]

收敛性问题 2

「文本公式」和「显示公式」是最常见的 LaTeX 表达式类型,因此 Anki 为它们提供了缩略版本。形式为:

[latex]\begin{math}...\end{math}[/latex]

可以缩短为

[$]...[/$]

形式为

[latex]\begin{displaymath}...\end{displaymath}[/latex]

可以缩短为

[$$]...[/$$]

例如,之前展示的两个 LaTeX 代码片段分别等价于

[$]\sum\_{k = 1}^{\infty}\frac{1}{k}[/$] 收敛吗?

以下这个求和是否收敛?

[$$]\sum\_{k = 1}^{\infty}\frac{1}{k}[/$$]

Anki 允许你自定义 LaTeX 引言,以便你可以导入化学、音乐等的自定义包。例如,假设你在网上找到一个 chemtex 示例文件:

\documentclass[a4paper,12pt]{report}
\usepackage{chemtex}
\begin{document}

\initial
\begin{figure}[h]\centering
\parbox{.3\textwidth}{\ethene{H}{H$_3$C}{CH$_3$}{Br}}
\hfil
\parbox{.3\textwidth}{\cbranch{H}{S}{H}{S}{C}{S}{}{S}{H}
  \xi=-200 \cright{}{Q}{C}{D}{O}{S}{OH}}
\hfil
\parbox{.3\textwidth}{\hetisix{Q}{Q}{Q}{Q}{Q}{Q}{O}{Q}{O}
  \xi=-171 \fuseup{Q}{Q}{Q}{Q}{D}{Q}{D}{Q}{D}}
\caption{Chemie mit {\tt CHEMTEX}\label{a1}}
\end{figure}

\end{document}

首先,按照包和 MiKTeX/MacTeX 的文档来安装包。为了检查包是否正常工作,你需要将上述代码放入 .latex 文 件中,并测试能否在命令行中编译。一旦确认包可用且正常工作,就可以将其集成到 Anki 中。

要在 Anki 中使用该包,点击主窗口中的「添加」,然后点击笔记模板选择按钮。点击「管理」按钮,然后选择你 计划使用的笔记模板并点击「选项」。显示出的 LaTeX 头部和尾部。头部看起来如下:

\documentclass[12pt]{article}
\special{papersize=3in,5in}
\usepackage{amssymb,amsmath}
\pagestyle{empty}
\setlength{\parindent}{0in}
\begin{document}

要使用 chemtex,你需要添加早期示例中的 usepackage 行,使之看起来像:

\documentclass[12pt]{article}
\special{papersize=3in,5in}
\usepackage{amssymb,amsmath}
\usepackage{chemtex}
\pagestyle{empty}
\setlength{\parindent}{0in}
\begin{document}

之后,你应该能够在你的 Anki 卡片中包含如下行:

[latex]\ethene{H}{H$_3$C}{CH$_3$}{Br}[/latex]

模板冲突

从 Anki 2.1.20 / AnkiMobile 2.0.56 / AnkiDroid 2.13 开始,该解决方法不再需要,因为字段中的 {{field}} 文本不再会导致问题。如果你需要支持更旧版本并希望继续使用这种语法,请确保在正面和背面模板 的最顶部放置 {{=<% %>=}} 字符串,最近的 Anki 版本不会在非开头识别它。

对于旧版本:

在编写数学方程时,{{ 和 }} 在 LaTeX 代码中出现是常见现象。为了确保使用 LaTeX 方程不会与 Anki 的字段 替换冲突,可以将分隔符更改为其他内容。

例如,如果你有一个模板:

{{latex field}}

将其更改为以下内容,将不太可能发生 LaTeX 冲突:

{{=<% %>=}}
<%latex field%>

挖空冲突

挖空以 }} 终止,这可能与你的 LaTeX 中出现的 }} 冲突。为了防止 LaTeX 被解释为一个关闭的挖空标记, 可以在不表示挖空结束的任意双闭合大括号之间加一个空格,这样

{{c1::[$]\frac{foo}{\frac{bar}{baz}}[/$] blah blah blah.}}

将不起作用,但

{{c1::[$]\frac{foo}{\frac{bar}{baz} }[/$] blah blah blah.}}

将正常工作(并且 LaTeX 在数学模式中忽略空格,所以你的方程渲染相同)。如果你想避免在渲染文本中增加额 外的空间(例如,当你制作编程语言学习用的填空题卡片时),另一种选择是在 HTML 模式下编辑卡片时使用 HTML 注释:

{{c1::[$]\frac{foo}{\frac{bar}{baz}<!-- -->}[/$] blah blah blah.}}

如果你需要在被挖空的文本中使用 :: 字符序列,可以使用任一制作法。以下笔记文本生成的第一张卡片将是 [type] in C++ is a type-safe union

{{c1::std:<!-- -->:variant::~type~}} in C++ is a {{c2::type-safe union}}

不安全命令

Anki 禁止在卡片或模板上使用 \input 或 \def 等某些命令,因为允许它们可能会允许恶意共享牌组损害你的 系统。(为了安全起见,这些命令甚至在注释中也是不允许的,所以如果你遇到此错误但认为没有使用,请仔细检 查你在头部、模板和卡片中的任何注释。)如果你需要使用这些命令,请将它们添加到系统包中,并按前一节所述 导入该包。

记忆难点

原文:Leeches - Anki Manual (ankiweb.net)

记忆难点(leech)是你总是遗忘的卡片。因为它们需要大量的复习,与其他卡片相比,它们占用了你更多的时 间。

Anki 可以帮助你识别记忆难点。每次复习卡片「遗忘」(即在复习模式中失败)时,计数器会增加。当此计数器 达到 8 时,Anki 会将该笔记标记为记忆难点并暂停卡片。该阈值以及是否暂停,都可以 在牌组选项中进行调整。

如果你不断遗忘该卡片,Anki 会定期提醒你这个记忆难点。这些警告会在初始难点阈值的一半时发生。例如,如 果你将警告设置为 8 次遗忘,那么未来的警告将每 4 次遗忘发生一次(即在 12 次、16 次等等)。

一旦发现记忆难点,有多种方法可以处理它。

编辑

处理记忆难点的最有效方法是更改信息的呈现方式。也许你的卡片信息过多,或者你尝试记忆一些不完全理解的东 西。通常,遵循 SuperMemo 创始人 Piotr Wozniak 博士提出 的知识表述的 20 条规则会有所帮助。 有些卡片可以从助记符中受益。即使一些编写良好的卡片也可能需要增强其连贯性,例如,通过为相关概念添加卡 片。然而,知道如何正确制定材料,将其拆分为尽可能小的组成部分,并使用助记技术,需要大量的经验。

译注:该文章已被翻译为中文——《20 条知识表述规则》

删除

如果你正在努力的材料并不是足够重要,不值得花费那么多时间,你可以直接删除该卡片。通过有选择地删除困难 和晦涩的项目,你可以有更多时间学习其他材料,使学习更加愉快。如果你认为该卡片将来可能有用,可以将其暂 停。

等待

一些 记忆难点是由「干扰」引起的。例如,一名英语学习者可能最近学会了「disappoint」和「disappear」这两 个词。由于它们看起来相似,学习者在尝试回答时可能会将两者混淆。在这种情况下,通常有帮助的是每次专注于 一个概念。这个概念牢固地印在你脑海中后,你可以开始学习其他概念。因此,在这种情况下,你可能希望暂停其 中一个词直到你已很好地学会另一个,然后再取消暂停。

要详细讨论,可以参考 Soren Bjornstad 撰写的文章 「处理记忆难点」。

译注:该文章已被翻译为中文——《如何应对记忆难点》

插件

原文:Add-ons - Anki Manual (ankiweb.net)

Anki 的功能可以通过插件进行扩展。插件可以提供诸如额外支持特定语言、额外排程控制等功能。

要浏览可用插件的列表,请选择「工具→插件」,然后点击「获取插件」。或者,在网络浏览器中打开 ankiweb.net/shared/addons

如果你下载的某个插件无法正常工作,或者你在编辑插件时不小心出错,可以使用菜单中的「删除」选项将其移 除。

插件可以使用和修改 Anki 代码库的任意部分,因此在某些情况下,更新 Anki 可能会导致与旧插件的不兼容。如 果你的一个插件在更新 Anki 后停止工作,请考虑向插件作者报告问题。如果你依赖于此插件,你需要继续使用旧 版 Anki,直到该插件获得更新。

在 AnkiWeb 上的大多数插件页面上都有「联系作者」按钮,许多作者在插件中包含了他们的电子邮件地址,所以 如果需要联系作者,编辑插件并查看文件顶部可能会有所帮助。

要学习如何编写自己的插件,请参阅插件编写指南

疑难解答

原文:Troubleshooting - Anki Manual (ankiweb.net)

如果你在使用 Anki 的过程中遇到了问题,请按顺序尝试以下步骤:

1. 重启 Anki

请关闭 Anki,然后重新启动它。

如果由于错误信息无法关闭 Anki,你可以使用任务管理器终止 Anki,或重启电脑。Anki 会定期保存,所以大多 数情况下你不会损失超过几分钟的工作。

如果问题不再出现,你可以跳过以下步骤。

2. 检查附加组件

请关闭 Anki,然后按住 shift 键重新启动。如果问题消失,说明是某个附加组件导致的。移除不需要的附加组 件,并禁用其他一半的附加组件。如果问题持续,尝试禁用另一半。重复该过程,直到找到导致问题的附加组件。 然后请使用复制调试信息按钮将信息粘贴到报告中,报告此问题给附加组件作者。

3. 检查 Anki 版本

你可以在「帮助>关于 Anki」或「Anki>关于 Anki」菜单中找到你的版本信息。如果你使用的版本不是发布在 https://apps.ankiweb.net 的最新版本,请关闭 Anki,安装最新版本,然后重新启动 Anki,查看问题是否消 失。

如果你使用的是 Linux,请确保能够使用 Anki 网站上提供的打包版本重现错误,因为发行版通常会分发 损坏的版本

4. 检查数据库

重启 Anki 后,请尝试使用工具>检查数据库菜单项,确保你的集合没有任何问题。

5. 重启电脑

有时重启电脑可能会有所帮助。

6. 更改视频驱动程序

崩溃和显示问题可能是由视频驱动程序导致的。尝试在首选项界面中或通过 gldriver 文件切换不同的视频驱动程 序可能会有帮助。确保尝试所有三个选项。

7. 重置窗口大小

有时在启动 Anki 后立即按下首选项界面中的「重置窗口大小」按钮会有所帮助。

8. 如果问题仍然存在

如果你确认使用的是最新的 Anki 版本,并且在按住 shift 键启动 Anki 时仍然出现错误, 请报告问题,在你的帖子中包含你接收到的下一个错误信息。

自托管同步服务器

原文:Sync Server - Anki Manual (ankiweb.net)

不愿意或无法使用 AnkiWeb 的高级用户可以选择使用自托管同步服务器。

需要注意的事项:

  • 这是一个高级功能,适用于熟悉网络和命令行的用户。如果使用此功能,你需自行解决遇到的任何设置、网络、 或防火墙问题,使用风险需自行承担。
  • 较新的客户端可能依赖于同步协议的更改,因此如果你更新 Anki 客户端而没有同时更新服务器,可能会导致同 步停止工作。
  • 也存在第三方同步服务器。没有进行针对它们的测试,并且当同步协议更改时,第三方服务器通常需要时间来追 赶,因此不推荐使用。
  • Anki 内部消息仍会使用「AnkiWeb」这一术语,即使已配置自定义服务器(例如,当服务器宕机时显示「无法连 接到 AnkiWeb」)。

安装/运行

有多种方式可以安装和运行服务器。你可以选择以下方式:

  • 使用捆绑在 Anki 桌面版本中的同步服务器
  • 独立的最小同步服务器,不包含 Anki 的 GUI 依赖项。提供 Python 和 Rust 实现。

从打包好构建开始

这是使用 Anki 桌面版本 2.1.57+ 中内建的同步服务器。

在 Windows 的 cmd.exe 中:

set SYNC_USER1=user:pass
"\Program Files\anki\anki.exe" --syncserver

在 MacOS 的终端.app 中:

SYNC_USER1=user:pass /Applications/Anki.app/Contents/MacOS/anki --syncserver

在 Linux 中:

SYNC_USER1=user:pass anki --syncserver

使用 Pip

为了避免下载桌面 Anki 的 GUI 依赖项,你可以通过 PyPI 下载的 Python 包运行独立的 Anki 同步服务器。确 保你已安装 Python 3.9+。

python3 -m venv ~/syncserver
~/syncserver/bin/pip install anki
SYNC_USER1=user:pass ~/syncserver/bin/python -m anki.syncserver

使用 Cargo

从 Anki 2.1.66+ 开始,你可以使用以下命令构建 Rust 实现的独立同步服务器。确保已安装 Rustup。

cargo install --git https://github.com/ankitects/anki.git --tag 2.1.66 anki-sync-server

用最新的 Anki 版本替换 2.1.66。

需要安装 Protobuf(protoc)。

构建后,你可以通过以下命令运行:

SYNC_USER1=user:pass anki-sync-server

从源码检出

如果你从 GitHub 克隆了 Anki 仓库,可以从源代码安装:

./ninja extract:protoc
cargo install --path rslib/sync

多用户

SYNC_USER1 声明第一个用户和密码,必须设置。如果希望设置多个账户,可以选择性地声明 SYNC_USER2SYNC_USER3 等。

哈希密码

高级用户可能希望使用哈希密码而不是明文密码。如果你希望这样做,需要使用单独的工具(例 如这个)生成密码哈希。然后可以通过设置环境变量 PASSWORDS_HASHED 为 1(或其他任意值)来告知服务器期望使用哈希密码。

使用哈希密码时,SYNC_USER 变量应采用 username:password_hash 格式,其中 password_hash 是密码的 PHC 格 式哈希。

存储位置

服务器需要在文件夹中存储一份你的集合和媒体的副本。默认情况下是在 ~/.syncserver;你可以通过定义 SYNC_BASE 环境变量来更改此位置。这不应与正常的 Anki 数据文件夹相同,因为服务器和客户端必须分别存储 副本。

公开访问

服务器监听未加密的 HTTP 连接,因此不建议直接将其暴露在互联网上。 你需要将使用限制在本地网络,或在服 务器前面使用某种加密形式,例如 VPN(Tailscale 显然很简单)或 HTTPS 反向代理。

你可以定义 SYNC_HOSTSYNC_PORT 来更改服务器绑定的主机和端口。

客户端设置

你需要确定计算机的网络 IP 地址,然后将每个 Anki 客户端指向该地址,例如 http://192.168.1.200:8080/。 可以在首选项中配置此 URL。

如果你使用 AnkiMobile 且无法连接到本地网络上的服务器,请进入 iOS 设置,找到 Anki 并关闭再打开「允许 Anki 访问本地网络」选项。

旧版桌面客户端需要你定义 SYNC_ENDPOINTSYNC_ENDPOINT_MEDIA。如果使用旧版客户端,你需将其设置 为例如 http://192.168.1.200:8080/sync/http://192.168.1.200:8080/msync/。AnkiDroid 2.16 之前 的客户端需要为这两个端点单独配置。

反向代理

如果使用反向代理提供 HTTPS 访问(例如 nginx),并绑定到子路径(例如 http://example.com/custom/ -> http://localhost:8080/),你必须在配置 Anki 时确保使用斜杠结尾。如果你设置为 http://example.com/custom,将无法正常工作。

在 iOS 上,不支持 TLS 1.3,因此你的反向代理需启用 TLS 1.2,否则会出现「错误码 -9836」。

大型请求

默认应用了 AnkiWeb 在上传上的标准限制。 如果你希望增加限制,可选择设置 MAX_SYNC_PAYLOAD_MEGS 为大 于 100 的值。 请记住,如果你使用反向代理,也可能需要在那里调整限制。

贡献更改

由于此服务器与 Anki 一同捆绑,简洁是设计目标——其目标是面向个人/家庭使用,PR 中增加 REST API 或外部数 据库等内容的请求在当前阶段可能不被接受。如有疑问,请在开始 PR 工作之前联系我们。

如果你正在寻找现有的 API 解决方案,AnkiConnect 插件或许能满足你的需求。

杂项

原文:Miscellaneous - Anki Manual (ankiweb.net)

菜单快捷键

在 Windows/Linux 系统上,你可以按住 Alt 键并按下某个高亮的字母来激活特定的菜单。

虽然 macOS 不支持此功能,但它允许你为特定的菜单项分配快捷键。请参阅 https://support.apple.com/en-au/guide/mac-help/mchlp2271/mac 以获取更多信息。

调试控制台

有时你可能会被要求使用调试控制台来更改设置或检查事项。除非被要求在「调试控制台」中输入文本,否则你可 能不需要用到这个功能。高级用户可以在 插件编写指南中了解更多关于它的内容。

当被要求在「调试控制台」中输入文本时,请启动 Anki,在主窗口中按下

Ctrl+Shift+;

(同时按下控制键、Shift 键和分号键)

在 Mac 上,按下

Command+Shift+;

(同时按下 command 键、Shift 键和分号键)

在某些非英文键盘上,你可能需要按 :+ 键而非 ;

在弹出的窗口中,请将要求粘贴的文本粘贴到顶部部分。完成后,请按下 Ctrl+回车(在 Mac 上为 Command+回 车),一些文本应出现在底部部分。如果被要求粘贴结果输出,请从底部区域复制,并粘贴回给支持人员。

如果你按了 Ctrl+Shift+回车 而不是仅仅 Ctrl+回 车,Anki 会尝试打印结果而不是执行你的请求。如果出现意外错误,请确保没有按下 Shift 键。

贡献

原文:Contributing - Anki Manual (ankiweb.net)

公开分享牌组

要向公众分享牌组,请先将它们与 AnkiWeb 同步,然后登录 AnkiWeb,点击你想分享的牌组旁边 菜单中的「分享」。

如果你之前分享过一个牌组(包括使用旧版本的 Anki),你可以通过点击上述「分享」来更新它。更新一个已分 享的牌组不会重置下载计数或评分。你可以使用已分享牌组页面上的删除按钮来删除你上传的牌组。

在更新牌组时,AnkiWeb 期望牌组的位置与之前相同。例如,假如你分享了一个名为「Korean Verbs」的牌组,然 后将其重命名为「Korean::Korean Verbs」,重新分享将无法更新现有副本。如果你忘记了最初的名字,可以通过 在 AnkiWeb 上下载该牌组并在新的配置文件中导入它(文件>导入)(文件>切换配置文件>添加),来猜测它。然 后你可以复制首次共享时的确切牌组名称。如果这不奏效,请联系支持。

当你更新一个已分享的牌组时,之前下载了该牌组的用户不会自动接收到更新。如果他们再次下载并重新导入该牌 组,新添加的内容将会被导入,而不会改变他们现有的学习进度,只要你和用户都未对笔记模板做出过更改。

私密分享牌组

如果你希望将牌组分享给有限的一群人(例如学习小组或班级)而不是向公众分享,你可以在 AnkiWeb 之外进行 分享。

要私密分享牌组,请转到文件菜单并选择导出。选择单个牌组(而不是「所有牌组」),并关闭「包含计划信 息」。这将生成一个 .apkg 文件,你可以与他人分享。

你可以通过邮件将 .apkg 文件发送给他人,将其放到网站或共享文件夹中,或者使用诸如 Dropbox 或 Google Drive 等免费的文件共享服务,并将链接发送给其他人。

计算机版本和移动客户端通过点击或点击 .apkg 文件,便于导入。然而,AnkiWeb 不支持导入 .apkg 文件,因此 牌组接收者需要拥有计算机版本或移动设备上的 Anki。

当用户导入一个 .apkg 文件时,其集合中已经存在的卡片会被忽略,任何新卡片将被添加。只要他们使用相同的 笔记模板,已修改的卡片也将被更新。为了防止数据丢失,新 .apkg 文件中删除的卡片不会在用户的集合中被删 除,因此如果你需要无论什么原因删除用户牌组中的卡片,你需要与他们联系。

分享插件

请参见 https://addon-docs.ankiweb.net/sharing.html

翻译 Anki

请参见 https://translating.ankiweb.net

贡献代码

Anki 的源代码位于 https://github.com/ankitects/anki

在贡献之前,请参见 contributing.md

常见问题

请参阅 https://faqs.ankiweb.net

资源

原文:Resources - Anki Manual (ankiweb.net)

SuperMemo 网站上有很多关于间隔重复和记忆的优质信息: https://supermemo.guru/wiki/SuperMemo_Guru

Michael Nielsen 撰写了一篇详尽的文章,讲述了长期记忆以及 他如何使用 Anki。他还提供了一 个简化版本,以推文系列的形式呈现。

译注:该文章已被翻译为中 文——《量子物理学家是如何使用 Anki 的?》

一些医学生联合起来制作了一份付费指南,专注于在医学院中使用 Anki: https://www.theanking.com/anki-mastery-course

Soren Bjornstad 撰写了一系列详尽的文章,探讨记 忆、SRS 以及如何有效使用 Anki。

译注:目前该系列的《设计明晰 Anki 卡片的规则》已被翻译为 中文。