SpeedReaderRust
RSVP (Rapid Serial Visual Presentation) speed reading overlay. Opens a file and displays words one by one in the center of the screen. Key feature: center letter highlighting (ORP — Optimal Recognition Point) for faster word recognition.
Features
- Pause and jump to editor at exact reading position (Space)
- Configurable speed (WPM) and editor command
- Drag overlay with mouse
- Works with any editor: Zed, VS Code, Vim, Helix
- Open source (MIT)
Install
cargo install speed-reader
Or from source: cargo install --path gui
Usage in Zed
1. Global Task
Add a task to ~/.config/zed/tasks.json so speed-reader is available from any project:
[
{
"label": "SpeedReader: Read current file",
"command": "speed-reader",
"args": ["$ZED_FILE"],
"tags": ["speed-reader"],
"hide": "on_success"
}
]
If the file already has tasks, just append this object to the array. "hide": "on_success" closes the terminal panel when the overlay closes.
2. Run
Cmd+Shift+P → type SpeedReader → select the task.
3. Hotkey (recommended)
Add a keybinding in ~/.config/zed/keybindings.json:
{
"context": "Editor",
"bindings": {
"cmd-shift-r": ["task::Spawn", { "task_name": "SpeedReader: Read current file" }]
}
}
Now Cmd+Shift+R launches RSVP reading from any buffer.
4. Editor Config (not just Zed)
By default speed-reader opens the editor at file:line:col. Configure in ~/.config/speed-reader/config.json:
{
"editor_cmd": "code",
"wpm": 300
}
Supports Zed, VS Code, Vim, Helix, and any editor with editor file:line:col CLI syntax.