Anki

概要

  • 自らが切り開く未知の領域には、先人が切り開いた単語帳が存在しない。記憶は本質的に必要であり自分で管理する必要がある。
  • 自分で作れるまともな単語帳アプリ。単語を Spreadsheet でまとめても継続的な暗記の役には立たないし、絶対に散らかる。
  • 脳の記憶領域の可視化

インストール

バージョン制限

  • Ubuntu 22.04 では Anki 25.02.x (qt6同梱版) が限界。
  • 理由: Anki 25.07以降はランチャー版で glibc 2.36 必須だが、Ubuntu 22.04 は glibc 2.35 だから動かない。アップデート通知 (25.09.4 等) は「いいえ」で無視。

手順

  • ガイド / GitHub releases から anki-25.02.x-linux-qt6.tar.zst を取得して展開
  • cd anki-25.02.x-linux-qt6 && sudo ./install.sh で /usr/local に上書き
  • 音声: sudo apt install mpv
  • 最新を使いたい時は Flatpak (flatpak install flathub net.ankiweb.Anki) か OS を 24.04+ へ

プログラム/テキストから操作 (AnkiConnect)

  • Claude Code 等のテキスト/プログラムから Anki を操作する場合は AnkiConnect を使う。
  • アドオン: ツール→アドオン→新規取得→コード 2055492159、Anki 再起動。
  • Anki 起動中に http://127.0.0.1:8765 で HTTP/JSON API を提供。{"action", "version":6, "params":{...}} を POST し、{"result", "error"} が返る。
  • 操作範囲: デッキ/ノート/カードの検索・追加・更新・削除・デッキ間移動、タグ操作、メディア追加、統計取得など。
  • 例: curl localhost:8765 -X POST -d '{"action":"deckNames","version":6}'
  • 注意: Anki を起動しておく必要がある。updateNoteFields は対象ノートをブラウザで開いていると反映されない。
  • 公式仕様: https://git.sr.ht/~foosoft/anki-connect

用語

  • デッキ: カードの集合。SQL のテーブルみたいなもの
  • ノート: フィールドの集合。SQL のローみたいなもの。表面がキー
  • フィールド:フィールドにはデフォルトで表面、裏面、タグがある。"sound" など、他は自分で追加しまくれる。SQL のセルみたいなもの
  • カード
    • レンダリングされたノート。表面と裏面のペア。
    • 一つのノートから複数種類のカードを作れる。
  • 表面テンプレート・裏面テンプレート
    • ノートからカードを生成するためのルール。HTML みたいなもの。フィールド名などを入力して、実際に学習する時に表示される表面・裏面の表示を出力するコード。
    • デッキと 1:1?(ではなさそう、TODO)。表面フィールド・裏面フィールドとは異なる概念。
    • フィールドの参照は {{表面}} などで行う。
  • collection.media: メディアを置く場所 /home/hamko/.local/share/Anki2/ユーザー 1/collection.media など。
  • メディア: mp3 音声ファイル。
    • 以下で音声再生が可能。
      • /home/hamko/.local/share/Anki2/ユーザー 1/collection.media に output.mp3 を置く
      • フィールド FrontSound に output.mp3 と書く
      • 表面・裏面のテンプレートに [sound:{{FrontSound}}] と書く
    • 表面にも裏面にも音声をおけるので、裏面には例文を書いておくとよいかも

ショートカット

  • Ctrl-Del: ノートの削除
  • ブラウザ > ノート > 重複を検索
    • 間違えて同じ表面で登録したものを確認できる

選択学習

  • 特定のフィールドが特定の値になっているものだけ学習できるようにしたい。
  • 特定のタグが付いているものだけ学習できるようにしたい

一括編集

  • 出力: ブラウザ > ノート > ノートをエクスポート > (テキストファイル形式のノート (.txt), 選択中のノート) > エクスポート
  • 編集: .txt ファイルを一括編集
  • 入力: ファイル > インポート > .txt ファイルを選択

プロンプト

  • ask "달러を含む韓国語の短い例文を作成してください。それ以外の単語はなるべく初歩的な単語を使ってください。"

Spreadsheet との同期

  • TODO

統計

  • 全学習時間が統計にない
    • Anki PC > Shift を押しながら統計 > collection, deck life > Review Time > Total で見れる

トラブルシューティング

PCだけでしかメディアが再生されないことがある

  • 以下で治ったことがある
    • メディアを全部バックアップ
    • メディアを全部削除
    • 全体に同期
    • メディアを全部戻す
    • 全体に同期

最終更新: 2020-01-01