LinuxCommandLibrary

flash

terminal-based spaced repetition flashcards

TLDR

Open a menu of available flashcard decks for selection

$ flash
copy
Display information about the flashcard system
$ flash -i
copy
Change the previewer from default bat to cat
$ flash -p [cat]
copy
Display help
$ flash -h
copy
Display version
$ flash -v
copy

SYNOPSIS

flash [-i] [-p previewer] [-h] [-v]

DESCRIPTION

Flash (fla.sh) is a terminal-based flashcard application implementing spaced repetition and active recall learning principles. It uses plain text CSV files as flashcard decks and presents cards in randomized study sessions.
Cards are stored in colon-separated CSV format: category:question:answer:score. The score field manages card difficulty—lower scores cause cards to appear more frequently, while cards rated "Easy" receive higher scores and appear less often.
The tool uses fzf for fuzzy selection of decks and optionally bat for syntax-highlighted card display. Decks are stored in ~/.local/share/flash/ and support nested directory organization.

PARAMETERS

-i

Display information about the flashcard system and deck location
-p previewer
Change the card previewer (default: bat, fallback: cat)
-h
Display help message
-v
Display version information

CAVEATS

Requires fzf as a mandatory dependency for deck selection. On macOS, GNU coreutils must be installed via Homebrew for the shuf command used in randomization. The tool creates its data directory on first run if it does not exist.

HISTORY

Flash was created by Bryan Jenks (tallguyjenks) as a lightweight terminal alternative to graphical flashcard applications. Written entirely in Bash, it draws inspiration from spaced repetition systems like Anki while maintaining Unix philosophy simplicity.

SEE ALSO

fzf(1), bat(1), cat(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community