Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner); words you know well will be presented less and less frequently and words you have problems with will be repeated more often. You quickly move cards/words between decks and each deck has an associated presentation interval.
You can use vocage for anything you'd use flashcards for and not necessarily limited to learning languages.
The aim of this software is to keep things simple and minimalistic and to focus on one thing only (the unix philosophy).
#
are considered comments. This also serves to quickly disable some cards without
actually deleting them.--columns
.--showcards
, which can be invoked multiple
times, once per side. Traditionally there's a front
side and a back side to a card, but you can define as many sides as you want.--minimal
parameter, in case you want to interact with vocage
from shell scripts or other software.--minimal
mode)hjkl
)Install vocage using Rust's package manager:
cargo install --locked vocage
No cargo/rust on your system yet? Do sudo apt install cargo
on Debian/ubuntu based systems, brew install rust
on mac, or use rustup.
Arch Linux users can install vocage directly from the Arch User Repository: https://aur.archlinux.org/packages/vocage-git/ (e.g. yay -S vocage-git
)
Type vocage --help
for a full parameter overview.
Have some data in TSV format ready, for example from here:
$ vocage yourdata.tsv
j
- Keep card on the same deck and go to the next card (usually a random card unless you are in
ordered mode)J
- Skip the card (it may be presented again immediately in the same session) and go to the next card (a random card will be selected)k
- Skip this card for now and go to the previous cardl
- Promote this card to the next deckh
- Promote this card to the previous deckw
- Save progress (input files will be amended)q
- Quit (asks for confirmation is you have unsaved changes)Q
- Quit (without saving, don't ask confirmation)a
- Toggle between showing all cards and showing only cards that are due (default) (--all
)s
- Toggle between presenting unseen cards (default) and showing only cards that have been presented before.
(--seen
)z
- Toggle between ordered mode and random mode (default) (--ordered
). In ordered mode, cards will be presented in
the order they are defined.