Ergonomic keymap for Helix
0
ergohelix.md edited
75 lines 8.6 kB view raw view rendered
1# ErgoHelix 2 3| | | | | | 4| --- | --- | --- | --- | --- | 5| `:quit`<br/>`:quit-all` | `:buffer-close`<br/>`:buffer-close-all` | `insert_mode`<br/>`shell_insert_output`<br/>`change_selection_noyank`<br/>`shell_pipe` | `append_mode`<br/>`shell_append_output`<br/>`change_selection_noyank`<br/>`shell_pipe` | `buffer_picker` | 6| `select_mode`<br/>`select_all` | `:write`<br/>`:write-all`<br/>`save_selection` | `extend_line_below`<br/>`shrink_to_line_bounds` | `search_selection`, `search`<br/>`search_selection`, `global_search` | `search_next`<br/>`search_prev` | 7| `undo`<br/>`redo`<br/>`jump_backward`<br/>`jump_forward` | `delete_selection`<br/>`delete_selection_noyank` | `yank` | `paste_before`<br/><br/>`replace_with_yanked` | `paste_after`<br/><br/>`replace_with_yanked` | 8 9| | | | | | 10| --- | --- | --- | --- | --- | 11| `goto_first_nonwhitespace`<br/>`move_parent_node_start`<br/>`goto_file_start`<br/>`goto_line_start` | `move_prev_word_start`<br/>`move_prev_long_word_start`<br/>`page_up` | `move_visual_line_up`<br/>`copy_selection_on_prev_line`<br/>`open_above` | `move_next_word_end`<br/>`move_next_long_word_start`<br/>`page_down` | Match Mode | 12| `goto_line_end`<br/>`move_parent_node_end`<br/>`goto_last_line` | `move_char_left`<br/>`select_prev_sibling`<br/>`expand_selection` | `move_visual_line_down`<br/>`copy_selection_on_next_line`<br/>`open_below` | `move_char_right`<br/>`select_next_sibling`<br/>`shrink_selection` | `command_mode`<br/>`command_mode` | 13| `rotate_selections_backward`<br/>`rotate_selection_contents_backward` | `rotate_selections_forward`<br/>`rotate_selection_contents_forward` | `goto_word` | | `toggle_comments`<br/>`toggle_block_comments`<br/>`toggle_line_comments` | 14 15| Key | Description | Command | 16| ----------- | ------------------------------------------ | -------------------- | 17| `esc` | Collapse selection onto a single cursor | `collapse_selection` | 18| `space` | Space | Space Mode | 19| `tab` | Indent selection | `indent` | 20| `Shift-tab` | Unindent selection | `unindent` | 21| `ret` | Apply code action (**LSP**) | `code_action` | 22| `'`, `"` | Select a register to yank to or paste from | `select_register` | 23 24### Space mode 25 26| Key | Description | Command | 27| ------- | -------------------------------------------------------------------------------- | ------------------------------------------ | 28| `space` | Show documentation for item under cursor in a popup (**LSP**) | `hover` | 29| `tab` | Align selection in columns | `align_selections` | 30| `ret` | Go to files/URLs in selections | `goto_file` | 31| `a` | Flip selection cursor and anchor | `flip_selections` | 32| `A` | Ensures the selection is in forward direction | `ensure_selections_forward` | 33| `b` | Debug | Debug Mode | 34| `c` | Case | Case Mode | 35| `d` | Go to definition (**LSP**) | `goto_definition` | 36| `e` | Select all regex matches inside selections | `select_regex` | 37| `E` | Split selection into sub selections on regex matches | `split_selection` | 38| `f` | Format selection (**LSP**) | `format_selections` | 39| `h` | Select symbol references (**LSP**) | `select_references_to_symbol_under_cursor` | 40| `i` | Go to implementation (**LSP**) | `goto_implementation` | 41| `j` | Join lines inside selection | `join_selections` | 42| `J` | Join lines inside selection and select the inserted space | `join_selections_space` | 43| `k` | Keep selections matching the regex | `keep_selections` | 44| `K` | Remove selections matching the regex | `remove_selections` | 45| `l` | Split selection on newlines | `split_selection_on_newline` | 46| `m` | Merge selections | `merge_selections` | 47| `M` | Merge consecutive selections | `merge_consecutive_selections` | 48| `n` | Select all sibling nodes in syntax tree (**TS**) | `select_all_siblings` | 49| `N` | Select all children nodes in syntax tree (**TS**) | `select_all_children` | 50| `o` | Open document diagnostics picker (**LSP**) | `diagnostics_picker` | 51| `O` | Open workspace diagnostics picker (**LSP**) | `workspace_diagnostics_picker` | 52| `p` | Keep only the primary selection | `keep_primary_selection` | 53| `P` | Remove the primary selection | `remove_primary_selection` | 54| `r` | Go to references (**LSP**) | `goto_reference` | 55| `R` | Rename symbol (**LSP**) | `rename_symbol` | 56| `s` | Open document symbol picker (**LSP** or **TS**) | `lsp_or_syntax_symbol_picker` | 57| `S` | Open workspace symbol picker (**LSP** or **TS**) | `lsp_or_syntax_workspace_symbol_picker` | 58| `t` | Go to type definition (**LSP**) | `goto_type_definition` | 59| `w` | Trim whitespace from the selection | `trim_selections` | 60| `x` | Pipe each selection into shell command, keep selections where command returned 0 | `shell_keep_pipe` | 61| `X` | Pipe each selection into shell command, ignoring output | `shell_pipe_to` | 62| `y` | Open jumplist picker | `jumplist_picker` | 63| `z` | Move backward in history | `earlier` | 64| `Z` | Move forward in history | `later` | 65 66### Match mode 67 68| Key | Description | Command | 69| ---- | ----------------------------------------------- | -------------------------- | 70| <\*> | Goto matching bracket (**TS**) | `match_brackets` | 71| `a` | Select around textobject | `select_textobject_around` | 72| `d` | Delete surround character `<char>` | `surround_delete` | 73| `i` | Select inside textobject | `select_textobject_inner` | 74| `r` | Replace surround character `<from>` with `<to>` | `surround_replace` | 75| `s` | Surround current selection with `<char>` | `surround_add` |