Commands
Typable commands
Typable commands are used from command mode and may take arguments. Command mode can be activated by pressing :. The built-in typable commands are:
| Name | Description | 
|---|---|
| :exit,:x,:xit | Write changes to disk if the buffer is modified and then quit. Accepts an optional path (:exit some/path.txt). | 
| :exit!,:x!,:xit! | Force write changes to disk, creating necessary subdirectories, if the buffer is modified and then quit. Accepts an optional path (:exit! some/path.txt). | 
| :quit,:q | Close the current view. | 
| :quit!,:q! | Force close the current view, ignoring unsaved changes. | 
| :open,:o,:edit,:e | Open a file from disk into the current view. | 
| :buffer-close,:bc,:bclose | Close the current buffer. | 
| :buffer-close!,:bc!,:bclose! | Close the current buffer forcefully, ignoring unsaved changes. | 
| :buffer-close-others,:bco,:bcloseother | Close all buffers but the currently focused one. | 
| :buffer-close-others!,:bco!,:bcloseother! | Force close all buffers but the currently focused one. | 
| :buffer-close-all,:bca,:bcloseall | Close all buffers without quitting. | 
| :buffer-close-all!,:bca!,:bcloseall! | Force close all buffers ignoring unsaved changes without quitting. | 
| :buffer-next,:bn,:bnext | Goto next buffer. | 
| :buffer-previous,:bp,:bprev | Goto previous buffer. | 
| :write,:w | Write changes to disk. Accepts an optional path (:write some/path.txt) | 
| :write!,:w! | Force write changes to disk creating necessary subdirectories. Accepts an optional path (:write! some/path.txt) | 
| :write-buffer-close,:wbc | Write changes to disk and closes the buffer. Accepts an optional path (:write-buffer-close some/path.txt) | 
| :write-buffer-close!,:wbc! | Force write changes to disk creating necessary subdirectories and closes the buffer. Accepts an optional path (:write-buffer-close! some/path.txt) | 
| :new,:n | Create a new scratch buffer. | 
| :format,:fmt | Format the file using an external formatter or language server. | 
| :indent-style | Set the indentation style for editing. ('t' for tabs or 1-16 for number of spaces.) | 
| :line-ending | Set the document's default line ending. Options: crlf, lf. | 
| :earlier,:ear | Jump back to an earlier point in edit history. Accepts a number of steps or a time span. | 
| :later,:lat | Jump to a later point in edit history. Accepts a number of steps or a time span. | 
| :write-quit,:wq | Write changes to disk and close the current view. Accepts an optional path (:wq some/path.txt) | 
| :write-quit!,:wq! | Write changes to disk and close the current view forcefully. Accepts an optional path (:wq! some/path.txt) | 
| :write-all,:wa | Write changes from all buffers to disk. | 
| :write-all!,:wa! | Forcefully write changes from all buffers to disk creating necessary subdirectories. | 
| :write-quit-all,:wqa,:xa | Write changes from all buffers to disk and close all views. | 
| :write-quit-all!,:wqa!,:xa! | Forcefully write changes from all buffers to disk, creating necessary subdirectories, and close all views (ignoring unsaved changes). | 
| :quit-all,:qa | Close all views. | 
| :quit-all!,:qa! | Force close all views ignoring unsaved changes. | 
| :cquit,:cq | Quit with exit code (default 1). Accepts an optional integer exit code (:cq 2). | 
| :cquit!,:cq! | Force quit with exit code (default 1) ignoring unsaved changes. Accepts an optional integer exit code (:cq! 2). | 
| :theme | Change the editor theme (show current theme if no name specified). | 
| :yank-join | Yank joined selections. A separator can be provided as first argument. Default value is newline. | 
| :clipboard-yank | Yank main selection into system clipboard. | 
| :clipboard-yank-join | Yank joined selections into system clipboard. A separator can be provided as first argument. Default value is newline. | 
| :primary-clipboard-yank | Yank main selection into system primary clipboard. | 
| :primary-clipboard-yank-join | Yank joined selections into system primary clipboard. A separator can be provided as first argument. Default value is newline. | 
| :clipboard-paste-after | Paste system clipboard after selections. | 
| :clipboard-paste-before | Paste system clipboard before selections. | 
| :clipboard-paste-replace | Replace selections with content of system clipboard. | 
| :primary-clipboard-paste-after | Paste primary clipboard after selections. | 
| :primary-clipboard-paste-before | Paste primary clipboard before selections. | 
| :primary-clipboard-paste-replace | Replace selections with content of system primary clipboard. | 
| :show-clipboard-provider | Show clipboard provider name in status bar. | 
| :change-current-directory,:cd | Change the current working directory. | 
| :show-directory,:pwd | Show the current working directory. | 
| :encoding | Set encoding. Based on https://encoding.spec.whatwg.org. | 
| :character-info,:char | Get info about the character under the primary cursor. | 
| :reload,:rl | Discard changes and reload from the source file. | 
| :reload-all,:rla | Discard changes and reload all documents from the source files. | 
| :update,:u | Write changes only if the file has been modified. | 
| :lsp-workspace-command | Open workspace command picker | 
| :lsp-restart | Restarts the given language servers, or all language servers that are used by the current file if no arguments are supplied | 
| :lsp-stop | Stops the given language servers, or all language servers that are used by the current file if no arguments are supplied | 
| :tree-sitter-scopes | Display tree sitter scopes, primarily for theming and development. | 
| :tree-sitter-highlight-name | Display name of tree-sitter highlight scope under the cursor. | 
| :debug-start,:dbg | Start a debug session from a given template with given parameters. | 
| :debug-remote,:dbg-tcp | Connect to a debug adapter by TCP address and start a debugging session from a given template with given parameters. | 
| :debug-eval | Evaluate expression in current debug context. | 
| :vsplit,:vs | Open the file in a vertical split. | 
| :vsplit-new,:vnew | Open a scratch buffer in a vertical split. | 
| :hsplit,:hs,:sp | Open the file in a horizontal split. | 
| :hsplit-new,:hnew | Open a scratch buffer in a horizontal split. | 
| :tutor | Open the tutorial. | 
| :goto,:g | Goto line number. | 
| :set-language,:lang | Set the language of current buffer (show current language if no value specified). | 
| :set-option,:set | Set a config option at runtime. For example to disable smart case search, use :set search.smart-case false. | 
| :toggle-option,:toggle | Toggle a config option at runtime. For example to toggle smart case search, use :toggle search.smart-case. | 
| :get-option,:get | Get the current value of a config option. | 
| :sort | Sort ranges in selection. | 
| :reflow | Hard-wrap the current selection of lines to a given width. | 
| :tree-sitter-subtree,:ts-subtree | Display the smallest tree-sitter subtree that spans the primary selection, primarily for debugging queries. | 
| :config-reload | Refresh user config. | 
| :config-open | Open the user config.toml file. | 
| :config-open-workspace | Open the workspace config.toml file. | 
| :log-open | Open the helix log file. | 
| :insert-output | Run shell command, inserting output before each selection. | 
| :append-output | Run shell command, appending output after each selection. | 
| :pipe,:| | Pipe each selection to the shell command. | 
| :pipe-to | Pipe each selection to the shell command, ignoring output. | 
| :run-shell-command,:sh,:! | Run a shell command | 
| :reset-diff-change,:diffget,:diffg | Reset the diff change at the cursor position. | 
| :clear-register | Clear given register. If no argument is provided, clear all registers. | 
| :redraw | Clear and re-render the whole UI | 
| :move,:mv | Move the current buffer and its corresponding file to a different path | 
| :yank-diagnostic | Yank diagnostic(s) under primary cursor to register, or clipboard by default | 
| :read,:r | Load a file into buffer | 
| :echo | Prints the given arguments to the statusline. | 
| :noop | Does nothing. | 
Static Commands
Static commands take no arguments and can be bound to keys. Static commands can also be executed from the command picker (<space>?). The built-in static commands are:
| Name | Description | Default keybinds | 
|---|---|---|
| no_op | Do nothing | |
| move_char_left | Move left | normal: h,<left>, insert:<left> | 
| move_char_right | Move right | normal: l,<right>, insert:<right> | 
| move_line_up | Move up | normal: gk | 
| move_line_down | Move down | normal: gj | 
| move_visual_line_up | Move up | normal: k,<up>, insert:<up> | 
| move_visual_line_down | Move down | normal: j,<down>, insert:<down> | 
| extend_char_left | Extend left | select: h,<left> | 
| extend_char_right | Extend right | select: l,<right> | 
| extend_line_up | Extend up | select: gk | 
| extend_line_down | Extend down | select: gj | 
| extend_visual_line_up | Extend up | select: k,<up> | 
| extend_visual_line_down | Extend down | select: j,<down> | 
| copy_selection_on_next_line | Copy selection on next line | normal: C, select:C | 
| copy_selection_on_prev_line | Copy selection on previous line | normal: <A-C>, select:<A-C> | 
| move_next_word_start | Move to start of next word | normal: w | 
| move_prev_word_start | Move to start of previous word | normal: b | 
| move_next_word_end | Move to end of next word | normal: e | 
| move_prev_word_end | Move to end of previous word | |
| move_next_long_word_start | Move to start of next long word | normal: W | 
| move_prev_long_word_start | Move to start of previous long word | normal: B | 
| move_next_long_word_end | Move to end of next long word | normal: E | 
| move_prev_long_word_end | Move to end of previous long word | |
| move_next_sub_word_start | Move to start of next sub word | |
| move_prev_sub_word_start | Move to start of previous sub word | |
| move_next_sub_word_end | Move to end of next sub word | |
| move_prev_sub_word_end | Move to end of previous sub word | |
| move_parent_node_end | Move to end of the parent node | normal: <A-e> | 
| move_parent_node_start | Move to beginning of the parent node | normal: <A-b> | 
| extend_next_word_start | Extend to start of next word | select: w | 
| extend_prev_word_start | Extend to start of previous word | select: b | 
| extend_next_word_end | Extend to end of next word | select: e | 
| extend_prev_word_end | Extend to end of previous word | |
| extend_next_long_word_start | Extend to start of next long word | select: W | 
| extend_prev_long_word_start | Extend to start of previous long word | select: B | 
| extend_next_long_word_end | Extend to end of next long word | select: E | 
| extend_prev_long_word_end | Extend to end of prev long word | |
| extend_next_sub_word_start | Extend to start of next sub word | |
| extend_prev_sub_word_start | Extend to start of previous sub word | |
| extend_next_sub_word_end | Extend to end of next sub word | |
| extend_prev_sub_word_end | Extend to end of prev sub word | |
| extend_parent_node_end | Extend to end of the parent node | select: <A-e> | 
| extend_parent_node_start | Extend to beginning of the parent node | select: <A-b> | 
| find_till_char | Move till next occurrence of char | normal: t | 
| find_next_char | Move to next occurrence of char | normal: f | 
| extend_till_char | Extend till next occurrence of char | select: t | 
| extend_next_char | Extend to next occurrence of char | select: f | 
| till_prev_char | Move till previous occurrence of char | normal: T | 
| find_prev_char | Move to previous occurrence of char | normal: F | 
| extend_till_prev_char | Extend till previous occurrence of char | select: T | 
| extend_prev_char | Extend to previous occurrence of char | select: F | 
| repeat_last_motion | Repeat last motion | normal: <A-.>, select:<A-.> | 
| replace | Replace with new char | normal: r, select:r | 
| switch_case | Switch (toggle) case | normal: ~, select:~ | 
| switch_to_uppercase | Switch to uppercase | normal: <A-`>, select:<A-`> | 
| switch_to_lowercase | Switch to lowercase | normal: `, select:` | 
| page_up | Move page up | normal: <C-b>,Z<C-b>,z<C-b>,<pageup>,Z<pageup>,z<pageup>, select:<C-b>,Z<C-b>,z<C-b>,<pageup>,Z<pageup>,z<pageup>, insert:<pageup> | 
| page_down | Move page down | normal: <C-f>,Z<C-f>,z<C-f>,<pagedown>,Z<pagedown>,z<pagedown>, select:<C-f>,Z<C-f>,z<C-f>,<pagedown>,Z<pagedown>,z<pagedown>, insert:<pagedown> | 
| half_page_up | Move half page up | |
| half_page_down | Move half page down | |
| page_cursor_up | Move page and cursor up | |
| page_cursor_down | Move page and cursor down | |
| page_cursor_half_up | Move page and cursor half up | normal: <C-u>,Z<C-u>,z<C-u>,Z<backspace>,z<backspace>, select:<C-u>,Z<C-u>,z<C-u>,Z<backspace>,z<backspace> | 
| page_cursor_half_down | Move page and cursor half down | normal: <C-d>,Z<C-d>,z<C-d>,Z<space>,z<space>, select:<C-d>,Z<C-d>,z<C-d>,Z<space>,z<space> | 
| select_all | Select whole document | normal: %, select:% | 
| select_regex | Select all regex matches inside selections | normal: s, select:s | 
| split_selection | Split selections on regex matches | normal: S, select:S | 
| split_selection_on_newline | Split selection on newlines | normal: <A-s>, select:<A-s> | 
| merge_selections | Merge selections | normal: <A-minus>, select:<A-minus> | 
| merge_consecutive_selections | Merge consecutive selections | normal: <A-_>, select:<A-_> | 
| search | Search for regex pattern | normal: /,Z/,z/, select:/,Z/,z/ | 
| rsearch | Reverse search for regex pattern | normal: ?,Z?,z?, select:?,Z?,z? | 
| search_next | Select next search match | normal: n,Zn,zn, select:Zn,zn | 
| search_prev | Select previous search match | normal: N,ZN,zN, select:ZN,zN | 
| extend_search_next | Add next search match to selection | select: n | 
| extend_search_prev | Add previous search match to selection | select: N | 
| search_selection | Use current selection as search pattern | normal: <A-*>, select:<A-*> | 
| search_selection_detect_word_boundaries | Use current selection as the search pattern, automatically wrapping with \bon word boundaries | normal: *, select:* | 
| make_search_word_bounded | Modify current search to make it word bounded | |
| global_search | Global search in workspace folder | normal: <space>/, select:<space>/ | 
| extend_line | Select current line, if already selected, extend to another line based on the anchor | |
| extend_line_below | Select current line, if already selected, extend to next line | normal: x, select:x | 
| extend_line_above | Select current line, if already selected, extend to previous line | |
| select_line_above | Select current line, if already selected, extend or shrink line above based on the anchor | |
| select_line_below | Select current line, if already selected, extend or shrink line below based on the anchor | |
| extend_to_line_bounds | Extend selection to line bounds | normal: X, select:X | 
| shrink_to_line_bounds | Shrink selection to line bounds | normal: <A-x>, select:<A-x> | 
| delete_selection | Delete selection | normal: d, select:d | 
| delete_selection_noyank | Delete selection without yanking | normal: <A-d>, select:<A-d> | 
| change_selection | Change selection | normal: c, select:c | 
| change_selection_noyank | Change selection without yanking | normal: <A-c>, select:<A-c> | 
| collapse_selection | Collapse selection into single cursor | normal: ;, select:; | 
| flip_selections | Flip selection cursor and anchor | normal: <A-;>, select:<A-;> | 
| ensure_selections_forward | Ensure all selections face forward | normal: <A-:>, select:<A-:> | 
| insert_mode | Insert before selection | normal: i, select:i | 
| append_mode | Append after selection | normal: a, select:a | 
| command_mode | Enter command mode | normal: :, select:: | 
| file_picker | Open file picker | normal: <space>f, select:<space>f | 
| file_picker_in_current_buffer_directory | Open file picker at current buffer's directory | |
| file_picker_in_current_directory | Open file picker at current working directory | normal: <space>F, select:<space>F | 
| file_explorer | Open file explorer in workspace root | normal: <space>e, select:<space>e | 
| file_explorer_in_current_buffer_directory | Open file explorer at current buffer's directory | normal: <space>E, select:<space>E | 
| file_explorer_in_current_directory | Open file explorer at current working directory | |
| code_action | Perform code action | normal: <space>a, select:<space>a | 
| buffer_picker | Open buffer picker | normal: <space>b, select:<space>b | 
| jumplist_picker | Open jumplist picker | normal: <space>j, select:<space>j | 
| symbol_picker | Open symbol picker | |
| syntax_symbol_picker | Open symbol picker from syntax information | |
| lsp_or_syntax_symbol_picker | Open symbol picker from LSP or syntax information | normal: <space>s, select:<space>s | 
| changed_file_picker | Open changed file picker | normal: <space>g, select:<space>g | 
| select_references_to_symbol_under_cursor | Select symbol references | normal: <space>h, select:<space>h | 
| workspace_symbol_picker | Open workspace symbol picker | |
| syntax_workspace_symbol_picker | Open workspace symbol picker from syntax information | |
| lsp_or_syntax_workspace_symbol_picker | Open workspace symbol picker from LSP or syntax information | normal: <space>S, select:<space>S | 
| diagnostics_picker | Open diagnostic picker | normal: <space>d, select:<space>d | 
| workspace_diagnostics_picker | Open workspace diagnostic picker | normal: <space>D, select:<space>D | 
| last_picker | Open last picker | normal: <space>', select:<space>' | 
| insert_at_line_start | Insert at start of line | normal: I, select:I | 
| insert_at_line_end | Insert at end of line | normal: A, select:A | 
| open_below | Open new line below selection | normal: o, select:o | 
| open_above | Open new line above selection | normal: O, select:O | 
| normal_mode | Enter normal mode | normal: <esc>, select:v, insert:<esc> | 
| select_mode | Enter selection extend mode | normal: v | 
| exit_select_mode | Exit selection mode | select: <esc> | 
| goto_definition | Goto definition | normal: gd, select:gd | 
| goto_declaration | Goto declaration | normal: gD, select:gD | 
| add_newline_above | Add newline above | normal: [<space>, select:[<space> | 
| add_newline_below | Add newline below | normal: ]<space>, select:]<space> | 
| goto_type_definition | Goto type definition | normal: gy, select:gy | 
| goto_implementation | Goto implementation | normal: gi, select:gi | 
| goto_file_start | Goto line number | normal: gg | 
| goto_file_end | Goto file end | |
| extend_to_file_start | Extend to line number | select: gg | 
| extend_to_file_end | Extend to file end | |
| goto_file | Goto files/URLs in selections | normal: gf, select:gf | 
| goto_file_hsplit | Goto files in selections (hsplit) | normal: <C-w>f,<space>wf, select:<C-w>f,<space>wf | 
| goto_file_vsplit | Goto files in selections (vsplit) | normal: <C-w>F,<space>wF, select:<C-w>F,<space>wF | 
| goto_reference | Goto references | normal: gr, select:gr | 
| goto_window_top | Goto window top | normal: gt, select:gt | 
| goto_window_center | Goto window center | normal: gc, select:gc | 
| goto_window_bottom | Goto window bottom | normal: gb, select:gb | 
| goto_last_accessed_file | Goto last accessed file | normal: ga, select:ga | 
| goto_last_modified_file | Goto last modified file | normal: gm, select:gm | 
| goto_last_modification | Goto last modification | normal: g., select:g. | 
| goto_line | Goto line | normal: G, select:G | 
| goto_last_line | Goto last line | normal: ge | 
| extend_to_last_line | Extend to last line | select: ge | 
| goto_first_diag | Goto first diagnostic | normal: [D, select:[D | 
| goto_last_diag | Goto last diagnostic | normal: ]D, select:]D | 
| goto_next_diag | Goto next diagnostic | normal: ]d, select:]d | 
| goto_prev_diag | Goto previous diagnostic | normal: [d, select:[d | 
| goto_next_change | Goto next change | normal: ]g, select:]g | 
| goto_prev_change | Goto previous change | normal: [g, select:[g | 
| goto_first_change | Goto first change | normal: [G, select:[G | 
| goto_last_change | Goto last change | normal: ]G, select:]G | 
| goto_line_start | Goto line start | normal: gh,<home>, select:gh, insert:<home> | 
| goto_line_end | Goto line end | normal: gl,<end>, select:gl | 
| goto_column | Goto column | normal: g| | 
| extend_to_column | Extend to column | select: g| | 
| goto_next_buffer | Goto next buffer | normal: gn, select:gn | 
| goto_previous_buffer | Goto previous buffer | normal: gp, select:gp | 
| goto_line_end_newline | Goto newline at line end | insert: <end> | 
| goto_first_nonwhitespace | Goto first non-blank in line | normal: gs, select:gs | 
| trim_selections | Trim whitespace from selections | normal: _, select:_ | 
| extend_to_line_start | Extend to line start | select: <home> | 
| extend_to_first_nonwhitespace | Extend to first non-blank in line | |
| extend_to_line_end | Extend to line end | select: <end> | 
| extend_to_line_end_newline | Extend to line end | |
| signature_help | Show signature help | |
| smart_tab | Insert tab if all cursors have all whitespace to their left; otherwise, run a separate command. | insert: <tab> | 
| insert_tab | Insert tab char | insert: <S-tab> | 
| insert_newline | Insert newline char | insert: <C-j>,<ret> | 
| insert_char_interactive | Insert an interactively-chosen char | |
| append_char_interactive | Append an interactively-chosen char | |
| delete_char_backward | Delete previous char | insert: <C-h>,<backspace>,<S-backspace> | 
| delete_char_forward | Delete next char | insert: <C-d>,<del> | 
| delete_word_backward | Delete previous word | insert: <C-w>,<A-backspace> | 
| delete_word_forward | Delete next word | insert: <A-d>,<A-del> | 
| kill_to_line_start | Delete till start of line | insert: <C-u> | 
| kill_to_line_end | Delete till end of line | insert: <C-k> | 
| undo | Undo change | normal: u, select:u | 
| redo | Redo change | normal: U, select:U | 
| earlier | Move backward in history | normal: <A-u>, select:<A-u> | 
| later | Move forward in history | normal: <A-U>, select:<A-U> | 
| commit_undo_checkpoint | Commit changes to new checkpoint | insert: <C-s> | 
| yank | Yank selection | normal: y, select:y | 
| yank_to_clipboard | Yank selections to clipboard | normal: <space>y, select:<space>y | 
| yank_to_primary_clipboard | Yank selections to primary clipboard | |
| yank_joined | Join and yank selections | |
| yank_joined_to_clipboard | Join and yank selections to clipboard | |
| yank_main_selection_to_clipboard | Yank main selection to clipboard | normal: <space>Y, select:<space>Y | 
| yank_joined_to_primary_clipboard | Join and yank selections to primary clipboard | |
| yank_main_selection_to_primary_clipboard | Yank main selection to primary clipboard | |
| replace_with_yanked | Replace with yanked text | normal: R, select:R | 
| replace_selections_with_clipboard | Replace selections by clipboard content | normal: <space>R, select:<space>R | 
| replace_selections_with_primary_clipboard | Replace selections by primary clipboard | |
| paste_after | Paste after selection | normal: p, select:p | 
| paste_before | Paste before selection | normal: P, select:P | 
| paste_clipboard_after | Paste clipboard after selections | normal: <space>p, select:<space>p | 
| paste_clipboard_before | Paste clipboard before selections | normal: <space>P, select:<space>P | 
| paste_primary_clipboard_after | Paste primary clipboard after selections | |
| paste_primary_clipboard_before | Paste primary clipboard before selections | |
| indent | Indent selection | normal: <gt>, select:<gt> | 
| unindent | Unindent selection | normal: <lt>, select:<lt> | 
| format_selections | Format selection | normal: =, select:= | 
| join_selections | Join lines inside selection | normal: J, select:J | 
| join_selections_space | Join lines inside selection and select spaces | normal: <A-J>, select:<A-J> | 
| keep_selections | Keep selections matching regex | normal: K, select:K | 
| remove_selections | Remove selections matching regex | normal: <A-K>, select:<A-K> | 
| align_selections | Align selections in column | normal: &, select:& | 
| keep_primary_selection | Keep primary selection | normal: ,, select:, | 
| remove_primary_selection | Remove primary selection | normal: <A-,>, select:<A-,> | 
| completion | Invoke completion popup | insert: <C-x> | 
| hover | Show docs for item under cursor | normal: <space>k, select:<space>k | 
| toggle_comments | Comment/uncomment selections | normal: <C-c>,<space>c, select:<C-c>,<space>c | 
| toggle_line_comments | Line comment/uncomment selections | normal: <space><A-c>, select:<space><A-c> | 
| toggle_block_comments | Block comment/uncomment selections | normal: <space>C, select:<space>C | 
| rotate_selections_forward | Rotate selections forward | normal: ), select:) | 
| rotate_selections_backward | Rotate selections backward | normal: (, select:( | 
| rotate_selection_contents_forward | Rotate selection contents forward | normal: <A-)>, select:<A-)> | 
| rotate_selection_contents_backward | Rotate selections contents backward | normal: <A-(>, select:<A-(> | 
| reverse_selection_contents | Reverse selections contents | |
| expand_selection | Expand selection to parent syntax node | normal: <A-o>,<A-up>, select:<A-o>,<A-up> | 
| shrink_selection | Shrink selection to previously expanded syntax node | normal: <A-i>,<A-down>, select:<A-i>,<A-down> | 
| select_next_sibling | Select next sibling in the syntax tree | normal: <A-n>,<A-right>, select:<A-n>,<A-right> | 
| select_prev_sibling | Select previous sibling the in syntax tree | normal: <A-p>,<A-left>, select:<A-p>,<A-left> | 
| select_all_siblings | Select all siblings of the current node | normal: <A-a>, select:<A-a> | 
| select_all_children | Select all children of the current node | normal: <A-I>,<S-A-down>, select:<A-I>,<S-A-down> | 
| jump_forward | Jump forward on jumplist | normal: <C-i>,<tab>, select:<C-i>,<tab> | 
| jump_backward | Jump backward on jumplist | normal: <C-o>, select:<C-o> | 
| save_selection | Save current selection to jumplist | normal: <C-s>, select:<C-s> | 
| jump_view_right | Jump to right split | normal: <C-w>l,<space>wl,<C-w><C-l>,<C-w><right>,<space>w<C-l>,<space>w<right>, select:<C-w>l,<space>wl,<C-w><C-l>,<C-w><right>,<space>w<C-l>,<space>w<right> | 
| jump_view_left | Jump to left split | normal: <C-w>h,<space>wh,<C-w><C-h>,<C-w><left>,<space>w<C-h>,<space>w<left>, select:<C-w>h,<space>wh,<C-w><C-h>,<C-w><left>,<space>w<C-h>,<space>w<left> | 
| jump_view_up | Jump to split above | normal: <C-w>k,<C-w><up>,<space>wk,<C-w><C-k>,<space>w<up>,<space>w<C-k>, select:<C-w>k,<C-w><up>,<space>wk,<C-w><C-k>,<space>w<up>,<space>w<C-k> | 
| jump_view_down | Jump to split below | normal: <C-w>j,<space>wj,<C-w><C-j>,<C-w><down>,<space>w<C-j>,<space>w<down>, select:<C-w>j,<space>wj,<C-w><C-j>,<C-w><down>,<space>w<C-j>,<space>w<down> | 
| swap_view_right | Swap with right split | normal: <C-w>L,<space>wL, select:<C-w>L,<space>wL | 
| swap_view_left | Swap with left split | normal: <C-w>H,<space>wH, select:<C-w>H,<space>wH | 
| swap_view_up | Swap with split above | normal: <C-w>K,<space>wK, select:<C-w>K,<space>wK | 
| swap_view_down | Swap with split below | normal: <C-w>J,<space>wJ, select:<C-w>J,<space>wJ | 
| transpose_view | Transpose splits | normal: <C-w>t,<space>wt,<C-w><C-t>,<space>w<C-t>, select:<C-w>t,<space>wt,<C-w><C-t>,<space>w<C-t> | 
| rotate_view | Goto next window | normal: <C-w>w,<space>ww,<C-w><C-w>,<space>w<C-w>, select:<C-w>w,<space>ww,<C-w><C-w>,<space>w<C-w> | 
| rotate_view_reverse | Goto previous window | |
| hsplit | Horizontal bottom split | normal: <C-w>s,<space>ws,<C-w><C-s>,<space>w<C-s>, select:<C-w>s,<space>ws,<C-w><C-s>,<space>w<C-s> | 
| hsplit_new | Horizontal bottom split scratch buffer | normal: <C-w>ns,<space>wns,<C-w>n<C-s>,<space>wn<C-s>, select:<C-w>ns,<space>wns,<C-w>n<C-s>,<space>wn<C-s> | 
| vsplit | Vertical right split | normal: <C-w>v,<space>wv,<C-w><C-v>,<space>w<C-v>, select:<C-w>v,<space>wv,<C-w><C-v>,<space>w<C-v> | 
| vsplit_new | Vertical right split scratch buffer | normal: <C-w>nv,<space>wnv,<C-w>n<C-v>,<space>wn<C-v>, select:<C-w>nv,<space>wnv,<C-w>n<C-v>,<space>wn<C-v> | 
| wclose | Close window | normal: <C-w>q,<space>wq,<C-w><C-q>,<space>w<C-q>, select:<C-w>q,<space>wq,<C-w><C-q>,<space>w<C-q> | 
| wonly | Close windows except current | normal: <C-w>o,<space>wo,<C-w><C-o>,<space>w<C-o>, select:<C-w>o,<space>wo,<C-w><C-o>,<space>w<C-o> | 
| select_register | Select register | normal: ", select:" | 
| insert_register | Insert register | insert: <C-r> | 
| copy_between_registers | Copy between two registers | |
| align_view_middle | Align view middle | normal: Zm,zm, select:Zm,zm | 
| align_view_top | Align view top | normal: Zt,zt, select:Zt,zt | 
| align_view_center | Align view center | normal: Zc,Zz,zc,zz, select:Zc,Zz,zc,zz | 
| align_view_bottom | Align view bottom | normal: Zb,zb, select:Zb,zb | 
| scroll_up | Scroll view up | normal: Zk,zk,Z<up>,z<up>, select:Zk,zk,Z<up>,z<up> | 
| scroll_down | Scroll view down | normal: Zj,zj,Z<down>,z<down>, select:Zj,zj,Z<down>,z<down> | 
| match_brackets | Goto matching bracket | normal: mm, select:mm | 
| surround_add | Surround add | normal: ms, select:ms | 
| surround_replace | Surround replace | normal: mr, select:mr | 
| surround_delete | Surround delete | normal: md, select:md | 
| select_textobject_around | Select around object | normal: ma, select:ma | 
| select_textobject_inner | Select inside object | normal: mi, select:mi | 
| goto_next_function | Goto next function | normal: ]f, select:]f | 
| goto_prev_function | Goto previous function | normal: [f, select:[f | 
| goto_next_class | Goto next type definition | normal: ]t, select:]t | 
| goto_prev_class | Goto previous type definition | normal: [t, select:[t | 
| goto_next_parameter | Goto next parameter | normal: ]a, select:]a | 
| goto_prev_parameter | Goto previous parameter | normal: [a, select:[a | 
| goto_next_comment | Goto next comment | normal: ]c, select:]c | 
| goto_prev_comment | Goto previous comment | normal: [c, select:[c | 
| goto_next_test | Goto next test | normal: ]T, select:]T | 
| goto_prev_test | Goto previous test | normal: [T, select:[T | 
| goto_next_xml_element | Goto next (X)HTML element | normal: ]x, select:]x | 
| goto_prev_xml_element | Goto previous (X)HTML element | normal: [x, select:[x | 
| goto_next_entry | Goto next pairing | normal: ]e, select:]e | 
| goto_prev_entry | Goto previous pairing | normal: [e, select:[e | 
| goto_next_paragraph | Goto next paragraph | normal: ]p, select:]p | 
| goto_prev_paragraph | Goto previous paragraph | normal: [p, select:[p | 
| dap_launch | Launch debug target | normal: <space>Gl, select:<space>Gl | 
| dap_restart | Restart debugging session | normal: <space>Gr, select:<space>Gr | 
| dap_toggle_breakpoint | Toggle breakpoint | normal: <space>Gb, select:<space>Gb | 
| dap_continue | Continue program execution | normal: <space>Gc, select:<space>Gc | 
| dap_pause | Pause program execution | normal: <space>Gh, select:<space>Gh | 
| dap_step_in | Step in | normal: <space>Gi, select:<space>Gi | 
| dap_step_out | Step out | normal: <space>Go, select:<space>Go | 
| dap_next | Step to next | normal: <space>Gn, select:<space>Gn | 
| dap_variables | List variables | normal: <space>Gv, select:<space>Gv | 
| dap_terminate | End debug session | normal: <space>Gt, select:<space>Gt | 
| dap_edit_condition | Edit breakpoint condition on current line | normal: <space>G<C-c>, select:<space>G<C-c> | 
| dap_edit_log | Edit breakpoint log message on current line | normal: <space>G<C-l>, select:<space>G<C-l> | 
| dap_switch_thread | Switch current thread | normal: <space>Gst, select:<space>Gst | 
| dap_switch_stack_frame | Switch stack frame | normal: <space>Gsf, select:<space>Gsf | 
| dap_enable_exceptions | Enable exception breakpoints | normal: <space>Ge, select:<space>Ge | 
| dap_disable_exceptions | Disable exception breakpoints | normal: <space>GE, select:<space>GE | 
| shell_pipe | Pipe selections through shell command | normal: |, select:| | 
| shell_pipe_to | Pipe selections into shell command ignoring output | normal: <A-|>, select:<A-|> | 
| shell_insert_output | Insert shell command output before selections | normal: !, select:! | 
| shell_append_output | Append shell command output after selections | normal: <A-!>, select:<A-!> | 
| shell_keep_pipe | Filter selections with shell predicate | normal: $, select:$ | 
| suspend | Suspend and return to shell | normal: <C-z>, select:<C-z> | 
| rename_symbol | Rename symbol | normal: <space>r, select:<space>r | 
| increment | Increment item under cursor | normal: <C-a>, select:<C-a> | 
| decrement | Decrement item under cursor | normal: <C-x>, select:<C-x> | 
| record_macro | Record macro | normal: Q, select:Q | 
| replay_macro | Replay macro | normal: q, select:q | 
| command_palette | Open command palette | normal: <space>?, select:<space>? | 
| goto_word | Jump to a two-character label | normal: gw | 
| extend_to_word | Extend to a two-character label | select: gw | 
| goto_next_tabstop | Goto next snippet placeholder | |
| goto_prev_tabstop | Goto next snippet placeholder | |
| rotate_selections_first | Make the first selection your primary one | |
| rotate_selections_last | Make the last selection your primary one |