Cues and blanks are the two directions of the same model. A cue is the system offering you something about text you already wrote; a blank is you asking the system for something, at a position you chose, by typing _.
The direction is the whole distinction
- Cues (system → user). As you type, words - and whole sentences - with alternatives, tips, or context available appear dimmed. You didn't ask; the system noticed. Navigate between them with
Ctrl+Alt+←/→, read the tip in the secondary display, cycle alternatives withCtrl+Alt+↑/↓, or ignore them entirely at zero cost. Configured incues/<name>/CUE.mdfiles. - Blanks (user → system). Nothing happens until you place a
_. That underscore is an explicit request: fill this in, here. Keyword blanks (volume _,nvda _), imperative transforms (make this formal _), and free-form lookups (capital of france _) all hang off it. Configured inblanks/<name>/BLANK.mdfiles.
When each fires
Cues fire automatically on plain prose (gated by word-cues-mode and each source's match:/keywords: claim); they are passive until you engage. Blanks fire only on the _ keystroke; once filled, the value is yours - it keeps its value until you edit it, and only you can clear it. Everything that touches external state is _-gated by design: there's no word-cycling on plain text that can call a script or an API.
One navigation system underneath
Both surfaces share the same machinery: the same navigation keys, the same cycling, the same secondary-display tips, the same revert-by-cycling-back. Learn the four keystrokes once and you've learned both directions. The glossary's summary is the cleanest: with cues the system cues you; with blanks you cue the system.
Related: What is a cue? · What is a blank? · Navigation and cycling · GitHub repo