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.

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.