A Helix editor plugin that provides a fuzzy-filtered picker to browse and reuse yanks, command history, and search history stored in registers.

Stars

3

7-day growth

No data

Forks

0

Open issues

0

License

AGPL-3.0

Last updated

2026-07-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It fills a notable gap in Helix by exposing previously invisible register contents, integrates deeply with Helix’s picker UI, and is implemented in Steel Scheme, demonstrating extensibility.

Who it is for

  • Helix users who want Vim-like register history access
  • Helix plugin developers seeking examples of Steel Scheme integrations
  • Power users who frequently yank, search, or repeat commands

Use cases

  • Recover a lost multi-cursor yank that was overwritten
  • Re-run a complex command without retyping
  • Re-use a previous search pattern for navigation

Strengths

  • Fuzzy filtering across three sources (yanks, commands, searches) with a preview pane
  • Column-specific filtering via %name syntax (e.g., %s for source)
  • Supports both staging (Enter) and immediate action (Alt-Enter) for each entry type
  • Configurable watch list, capacity, and inclusion of history

Considerations

  • Cannot run a command without opening the prompt (Steel limitation)
  • Only captures yanks to watched registers; missed registers are invisible
  • Yank source register cannot be recovered, so Alt-Enter pastes to default register
  • Clipboard registers + and * are never watched to avoid performance issues
  • Percent sign (%) starts a column filter, requiring escaping literal %

README quick start

previously.hx

A picker for everything that has passed through a register, for the Helix editor, written in Steel Scheme.

Yanks, typed commands and / searches all land in registers, and Helix gives you no way to look back at them. This shows you the lot in one fuzzy-filtered list with a preview pane, and puts whichever one you choose back at the front of its register.

Install

Requires a plugin-enabled Helix build. With forge, Steel’s package manager:

forge pkg install --git https://github.com/waddie/previously.hx

Then in ~/.config/helix/init.scm:

(require "previously.hx/previously.scm")

Capture starts at load, and :previously opens the picker.

Use

Run :previously. The list holds every yank captured since Helix started, then your : history, then your / history. Type to filter across all three. The preview pane holds the whole value, which is how a yank full of whitespace becomes readable.

Rows are y, : or / for where the value came from, then the register character, then the first line of the value, then (N) when a yank spans several cursors.

Typed text filters the value. A column takes its own filter under the %name syntax Helix’s own pickers use, so %s narrows by source, %r by register and %v by value. A literal percent is \%.

Enter stages. Alt-Enter acts immediately.

SourceEnterAlt-Enter
Yankrewrites its register, so p pastes itpastes it now
:pulls it to the front of :, opens the promptsame as Enter
/pulls it to the front of /, so n finds itsearches for it now

A command entry opens the prompt showing the chosen line as its suggestion: Enter runs it, Up puts it in the line so you can edit it first. That falls out of Helix’s own prompt, which suggests and runs the newest : entry when the line is empty, so pulling one to the front is all this has to do.

Configure

Optional, after the require:

(previously-configure!
  (hash 'watch (list #\" #\a #\b) ; registers to capture yanks from
        'cap 50 ; entries kept per register
        'commands? #true ; include the : history
        'searches?

Description

Unified register history for yanks, searches, and typed commands in Helix

Related repositories

Similar projects matched by category, topics, and programming language.

Ra77a3l3-jar
Ra77a3l3-jar GitHub avatar

forest.hx

forest.hx is a file tree explorer for the Helix editor offering two selectable UI styles: a persistent sidebar panel with fuzzy search ('snacks') and floating Miller columns with live preview ('mini').

Scheme
71
angieruiz17
angieruiz17 GitHub avatar

codex-gpt-plugin

Codex Gpt Plugin connects a Codex agent to a logged-in ChatGPT Pro session via browser automation, enabling high-leverage tasks like architecture review and debugging strategy.

JavaScript
136
arthurkatcher
arthurkatcher GitHub avatar

grok-delegate

A Grok Build plugin that delegates tasks to local Claude Code or Codex CLI, letting users leverage external AI coding agents directly from a Grok session.

JavaScript
13