Skip to main content

Space Menu

The space menu is a handy shortcut for (not restricted to):

  • Contextual actions
  • File and quit actions
  • Searching files/symbols
  • Multi-cursor management
  • Opening other components

The space menu can be brought up by pressing space.

Keymap

Loading...

LSP Actions (only applicable in the main editor):

LabelAction
Code ActionsRequest code actions
HoverRequest hover info
RenameRename current symbol

Pickers

LabelObject
BufferBuffers (opened files)
FileFiles (Not git ignored)
Git status @Git status (against current branch) 1
Git status ^Git status (against main branch) 2
SymbolLSP Symbols
ThemeThemes
KeyboardKeyboard Layout

Searching is powered by Helix's Nucleo, and some fzf-esque search syntax works here:

TokenDescription
sbtItems that match sbt, for example serbian-bear-tinker
'wildItems that must include wild
.mp3$Items that end with .mp3

Search terms can be separated by space, which means AND, and their order is unimportant.

For example, the search query stb 'wild matches wild-serbian-bear-tiger and also stubbornly_wild.

Also, you can use the initals to search for a file, for example, ekl matches editor_keymap_legend.rs.

Because every component is a buffer/editor, fuzzy search logic is also used for filtering LSP completions.

Buffer Behavior

The buffer navigation, including the Buffer List and Previous/Next Buffer options, displays only files that have been directly opened or edited by the user. Files that are merely displayed, such as those from search results or diagnostic messages, do not automatically become part of the buffer list.

For example, if you rename a symbol in file1.rs and this causes an error in file2.rs, file2.rs will be shown when navigating diagnostic messages. However, unless you edit file2.rs, it will not be added to the buffer list. Similarly, if you search your project and view results in multiple files, these files will not be included in the buffer list unless you edit them.

Other components

LabelAction
ExplorerReveal current file in file explorer
Undo TreeOpens the Undo Tree 1

System Clipboard Actions

These actions are the same as the actions here, except that they uses the system clipboard instead of the editor clipboard, and their labels prefixed by +.

Reveal

Reveal is a powerful viewport management feature that provides a bird's-eye view of your code or text. It automatically divides your viewport horizontally to show all relevant selections simultaneously, eliminating the need for scrolling (unless selections exceed the viewport height).

There are 3 kinds of Reveal:

  1. ÷ Selection (Reveal selections)
  2. ÷ Cursor (Reveal Cursors)
  3. ÷ Mark (Reveal Marks)

Reveal Selections

Reveal Selections dynamically creates viewports based on the selections of the current selection mode. This is particularly powerful for non-contiguous (secondary) selections created through Search, LSP Diagnostics, Git Hunks, and other multi-selection modes.

When used with Syntax Node selection mode, it can effectively emulate Code Folding, allowing you to view all sibling nodes of the current selected node, such as:

  1. Viewing all functions of the current module
  2. Viewing all methods of the current class
  3. Viewing all statements of the current block
  4. Viewing all subheaders under a header in a Markdown file
Loading...

Reveal Cursors

Reveal Cursors is not just useful, but essential when working with multiple cursors. It provides visual confirmation and confidence that your editing operations will be correctly applied across all cursor positions. This is particularly valuable for bulk editing operations where precision is crucial.

Loading...

Reveal Marks

Reveal Mark offers a modern alternative to traditional window splitting. Rather than manually managing multiple editor windows, you can mark and instantly view important sections simultaneously. You can think of it as automated window splitting.

Loading...

Misc

LabelMeaning
PipePipe current selection(s) to a shell command, replace the current selection(s) with the STDOUT.
TS Node SexpShow the Tree-sitter node S-expression of the current selection.

Footnotes

  1. See more at Git hunk 2

  2. This is very useful when you want to get the modified/added files commited into the current branch that you are working on.