# ErgoHelix | | | | | | | --- | --- | --- | --- | --- | | `:quit`
`:quit-all` | `:buffer-close`
`:buffer-close-all` | `insert_mode`
`shell_insert_output`
`change_selection_noyank`
`shell_pipe` | `append_mode`
`shell_append_output`
`change_selection_noyank`
`shell_pipe` | `buffer_picker` | | `select_mode`
`select_all` | `:write`
`:write-all`
`save_selection` | `extend_line_below`
`shrink_to_line_bounds` | `search_selection`, `search`
`search_selection`, `global_search` | `search_next`
`search_prev` | | `undo`
`redo`
`jump_backward`
`jump_forward` | `delete_selection`
`delete_selection_noyank` | `yank` | `paste_before`

`replace_with_yanked` | `paste_after`

`replace_with_yanked` | | | | | | | | --- | --- | --- | --- | --- | | `goto_first_nonwhitespace`
`move_parent_node_start`
`goto_file_start`
`goto_line_start` | `move_prev_word_start`
`move_prev_long_word_start`
`page_up` | `move_visual_line_up`
`copy_selection_on_prev_line`
`open_above` | `move_next_word_end`
`move_next_long_word_start`
`page_down` | Match Mode | | `goto_line_end`
`move_parent_node_end`
`goto_last_line` | `move_char_left`
`select_prev_sibling`
`expand_selection` | `move_visual_line_down`
`copy_selection_on_next_line`
`open_below` | `move_char_right`
`select_next_sibling`
`shrink_selection` | `command_mode`
`command_mode` | | `rotate_selections_backward`
`rotate_selection_contents_backward` | `rotate_selections_forward`
`rotate_selection_contents_forward` | `goto_word` | | `toggle_comments`
`toggle_block_comments`
`toggle_line_comments` | | Key | Description | Command | | ----------- | ------------------------------------------ | -------------------- | | `esc` | Collapse selection onto a single cursor | `collapse_selection` | | `space` | Space | Space Mode | | `tab` | Indent selection | `indent` | | `Shift-tab` | Unindent selection | `unindent` | | `ret` | Apply code action (**LSP**) | `code_action` | | `'`, `"` | Select a register to yank to or paste from | `select_register` | ### Space mode | Key | Description | Command | | ------- | -------------------------------------------------------------------------------- | ------------------------------------------ | | `space` | Show documentation for item under cursor in a popup (**LSP**) | `hover` | | `tab` | Align selection in columns | `align_selections` | | `ret` | Go to files/URLs in selections | `goto_file` | | `a` | Flip selection cursor and anchor | `flip_selections` | | `A` | Ensures the selection is in forward direction | `ensure_selections_forward` | | `b` | Debug | Debug Mode | | `c` | Case | Case Mode | | `d` | Go to definition (**LSP**) | `goto_definition` | | `e` | Select all regex matches inside selections | `select_regex` | | `E` | Split selection into sub selections on regex matches | `split_selection` | | `f` | Format selection (**LSP**) | `format_selections` | | `h` | Select symbol references (**LSP**) | `select_references_to_symbol_under_cursor` | | `i` | Go to implementation (**LSP**) | `goto_implementation` | | `j` | Join lines inside selection | `join_selections` | | `J` | Join lines inside selection and select the inserted space | `join_selections_space` | | `k` | Keep selections matching the regex | `keep_selections` | | `K` | Remove selections matching the regex | `remove_selections` | | `l` | Split selection on newlines | `split_selection_on_newline` | | `m` | Merge selections | `merge_selections` | | `M` | Merge consecutive selections | `merge_consecutive_selections` | | `n` | Select all sibling nodes in syntax tree (**TS**) | `select_all_siblings` | | `N` | Select all children nodes in syntax tree (**TS**) | `select_all_children` | | `o` | Open document diagnostics picker (**LSP**) | `diagnostics_picker` | | `O` | Open workspace diagnostics picker (**LSP**) | `workspace_diagnostics_picker` | | `p` | Keep only the primary selection | `keep_primary_selection` | | `P` | Remove the primary selection | `remove_primary_selection` | | `r` | Go to references (**LSP**) | `goto_reference` | | `R` | Rename symbol (**LSP**) | `rename_symbol` | | `s` | Open document symbol picker (**LSP** or **TS**) | `lsp_or_syntax_symbol_picker` | | `S` | Open workspace symbol picker (**LSP** or **TS**) | `lsp_or_syntax_workspace_symbol_picker` | | `t` | Go to type definition (**LSP**) | `goto_type_definition` | | `w` | Trim whitespace from the selection | `trim_selections` | | `x` | Pipe each selection into shell command, keep selections where command returned 0 | `shell_keep_pipe` | | `X` | Pipe each selection into shell command, ignoring output | `shell_pipe_to` | | `y` | Open jumplist picker | `jumplist_picker` | | `z` | Move backward in history | `earlier` | | `Z` | Move forward in history | `later` | ### Match mode | Key | Description | Command | | ---- | ----------------------------------------------- | -------------------------- | | <\*> | Goto matching bracket (**TS**) | `match_brackets` | | `a` | Select around textobject | `select_textobject_around` | | `d` | Delete surround character `` | `surround_delete` | | `i` | Select inside textobject | `select_textobject_inner` | | `r` | Replace surround character `` with `` | `surround_replace` | | `s` | Surround current selection with `` | `surround_add` |