Helix has a variety of pickers, which are interactive windows used to select various kinds of items. These include a file picker, global search picker, and more. Most pickers are accessed via keybindings in space mode. Pickers have their own keymap for navigation.
Most pickers perform fuzzy matching using fzf syntax. Two exceptions are the global search picker, which uses regex, and the workspace symbol picker, which passes search terms to the language server. Note that OR operations (|
) are not currently supported.
If a picker shows multiple columns, you may apply the filter to a specific column by prefixing the column name with %
. Column names can be shortened to any prefix, so %p
, %pa
or %pat
all mean the same as %path
. For example, a query of helix %p .toml !lang
in the global search picker searches for the term "helix" within files with paths ending in ".toml" but not including "lang".
You can insert the contents of a register using Ctrl-r
followed by a register name. For example, one could insert the currently selected text using Ctrl-r
-.
, or the directory of the current file using Ctrl-r
-%
followed by Ctrl-w
to remove the last path section. The global search picker will use the contents of the search register if you press Enter
without typing a filter. For example, pressing *
-Space-/
-Enter
will start a global search for the currently selected text.