You're reading docs for unreleased changes —  switch to v0.10.0.
Skip to content

Fuzzy Finder

A modal panel for jumping straight to a file or an open buffer, without leaving the keyboard: type a few characters, watch the list narrow, Enter to go there.

Setup

scheme
(load-plugin "core:pickers")

Must be loaded eagerly — it binds g f and g b, which need to be live from the first keystroke.

Picking files

g f opens a file picker scoped to HUME's working directory (:pwd; change it with :cd):

  • Inside a git repository, it lists every file git knows about — tracked files plus untracked-but-not-ignored ones. This reads straight from git's index, so it stays fast even in huge repos.
  • Outside a git repository, it lists files with fd (or Debian's fdfind package) if you have it installed.
  • If neither applies, the picker tells you to install fd.

Selecting a tracked-but-deleted file (removed from disk without git rm) fails to open — git's index doesn't know it's gone.

Picking buffers

g b opens a picker over every open buffer, showing each one's full path rather than just its filename — so two open files that happen to share a name, like two different mod.rs files, show up as distinct, disambiguated rows.

Picking modified files

g m opens a picker over every file with staged or unstaged changes, as reported by git status — the row shows the two-letter status (M staged, M unstaged, ?? untracked, and so on) alongside the path, so you can tell at a glance what kind of change each file has. Selecting a row opens that file, regardless of which subdirectory :pwd currently points at.

An empty result (nothing changed) or a working directory outside any git repository shows a status message instead of an empty picker.

By default, untracked files are included, each shown as its own row. Turn them off when loading the plugin:

scheme
(load-plugin "core:pickers" #:config (hash "untracked" #f))
ValueEffect
#t (default)Untracked files are included.
#fUntracked files are left out entirely.

Keys

KeyEffect
g fOpen the file picker
g bOpen the buffer picker
g mOpen the modified-files picker

Once a picker is open:

KeyEffect
TypeFilter the list
BackspaceEdit the query
Down / Ctrl+nMove selection down
Up / Ctrl+pMove selection up
PageDown / PageUpPage the list
Ctrl+d / Ctrl+uMove selection by half a page
EnterOpen the selected item
EscDismiss without opening anything

Released under the MIT License.