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
(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
gitknows 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'sfdfindpackage) 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:
(load-plugin "core:pickers" #:config (hash "untracked" #f))| Value | Effect |
|---|---|
#t (default) | Untracked files are included. |
#f | Untracked files are left out entirely. |
Keys
| Key | Effect |
|---|---|
g f | Open the file picker |
g b | Open the buffer picker |
g m | Open the modified-files picker |
Once a picker is open:
| Key | Effect |
|---|---|
| Type | Filter the list |
Backspace | Edit the query |
Down / Ctrl+n | Move selection down |
Up / Ctrl+p | Move selection up |
PageDown / PageUp | Page the list |
Ctrl+d / Ctrl+u | Move selection by half a page |
Enter | Open the selected item |
Esc | Dismiss without opening anything |