Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

simple-drill.el: A simple flashcard plugin for Emacs


simple-drill.el is an Emacs plugin to help with memorizing things using space repetition algorithm.

There are many clients for doing this, e.g. Anki. For Emacs, there exists majorly two work, the =org-drill= and =pamparam=. But they are quite complicated. I want a tool that is easy to use, and generate clean data that can be version controlled.

The meta data is clean that can be easily version controlled. The data is clean lisp like this:

 (trans "漂亮" note nil date
        (23609 11966 775981 692000)
        score 2 level 7)
 (trans "你好" note nil date
        (23609 12108 698798 475000)
        score 0 level 6)
 (trans "世界" note nil date
        (23609 12125 136637 73000)
        score 0 level 5))

Easy to use interface:

  • clean interface, show all information you care about
  • show all words, instead of one-by-one, for productivity. You want batch-processing, do you?
  • show relative days for last update and scheduled time
  • show by three sections: overdued, underdued, completed today
  • Only three actions: hard, simple, not sure
  • toggle visibility of translation (the answer) by a single click on the ?? field
  • Add new words directly in the interface




Currently I’m not making it available on Melpa. But I recommand to use straight to install package directly from git repository. You can install and setup the package using this configuration:

(use-package simple-drill
  :straight (simple-drill :type git :host github
                          :repo "lihebi/simple-drill.el")
  (setq simple-drill-history-file

Run command simple-drill to bring the buffer.

Comparison with the org-drill and pamparam

Org-drill is too complicated.

  • It pops so many properties in the entries
  • It requires :drill: markup for each entry, and each entry should have a question, and another subtree for storing answers

I don’t like some design decisions of pamparam:

  • Pamparam keeps the progress inside another directory system, version controlled. It is a neat idea, but I want to keep the (minimum) progress with the master org file itself.
  • Also, Pamparam is generating one file for each card, resulting in far too many files.
  • Seems it is designed to enter the answer and validate. There seems not to be a readily supported way to enter a score manually without typing the answer. Typing answer is of trouble because the answer might be super long, super complex, requiring invoking other input method (such as Chinese), and most importantly, typing is slow, thinking is fast.

Other Features

Non-stress drilling

The drill words are divided by 10 words. There is a separation line, so that you have a visual goal where to stop this session.


FIXME right after adding new words, it seems the buttons will change all words

C-c C-c dwim

Update item


No description, website, or topics provided.



No releases published


No packages published