@ -442,7 +442,7 @@ and <a href="./usage.html#textobject">textobject</a> usage.</p>
< tr > < td > < code > ]space< / code > < / td > < td > Add newline below< / td > < td > < code > add_newline_below< / code > < / td > < / tr >
< tr > < td > < code > ]space< / code > < / td > < td > Add newline below< / td > < td > < code > add_newline_below< / code > < / td > < / tr >
< / tbody > < / table >
< / tbody > < / table >
< / div >
< / div >
< h2 id = "insert-mode" > < a class = "header" href = "#insert-mode" > Insert M ode< / a > < / h2 >
< h2 id = "insert-mode" > < a class = "header" href = "#insert-mode" > Insert m ode< / a > < / h2 >
< p > Insert mode bindings are somewhat minimal by default. Helix is designed to
< p > Insert mode bindings are somewhat minimal by default. Helix is designed to
be a modal editor, and this is reflected in the user experience and internal
be a modal editor, and this is reflected in the user experience and internal
mechanics. For example, changes to the text are only saved for undos when
mechanics. For example, changes to the text are only saved for undos when
@ -451,41 +451,31 @@ strongly encouraged to learn the modal editing paradigm to get the smoothest
experience.< / p >
experience.< / p >
< div class = "table-wrapper" > < table > < thead > < tr > < th > Key< / th > < th > Description< / th > < th > Command< / th > < / tr > < / thead > < tbody >
< div class = "table-wrapper" > < table > < thead > < tr > < th > Key< / th > < th > Description< / th > < th > Command< / th > < / tr > < / thead > < tbody >
< tr > < td > < code > Escape< / code > < / td > < td > Switch to normal mode< / td > < td > < code > normal_mode< / code > < / td > < / tr >
< tr > < td > < code > Escape< / code > < / td > < td > Switch to normal mode< / td > < td > < code > normal_mode< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-s< / code > < / td > < td > Commit undo checkpoint< / td > < td > < code > commit_undo_checkpoint< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-x< / code > < / td > < td > Autocomplete< / td > < td > < code > completion< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-x< / code > < / td > < td > Autocomplete< / td > < td > < code > completion< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-r< / code > < / td > < td > Insert a register content< / td > < td > < code > insert_register< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-r< / code > < / td > < td > Insert a register content< / td > < td > < code > insert_register< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-w< / code > , < code > Alt-Backspace< / code > , < code > Ctrl-Backspace< / code > < / td > < td > Delete previous word< / td > < td > < code > delete_word_backward< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-w< / code > , < code > Alt-Backspace< / code > < / td > < td > Delete previous word< / td > < td > < code > delete_word_backward< / code > < / td > < / tr >
< tr > < td > < code > Alt-d< / code > , < code > Alt-Delete< / code > , < code > Ctrl-Delete< / code > < / td > < td > Delete next word< / td > < td > < code > delete_word_forward< / code > < / td > < / tr >
< tr > < td > < code > Alt-d< / code > , < code > Alt-Delete< / code > < / td > < td > Delete next word< / td > < td > < code > delete_word_forward< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-u< / code > < / td > < td > Delete to start of line< / td > < td > < code > kill_to_line_start< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-u< / code > < / td > < td > Delete to start of line< / td > < td > < code > kill_to_line_start< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-k< / code > < / td > < td > Delete to end of line< / td > < td > < code > kill_to_line_end< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-k< / code > < / td > < td > Delete to end of line< / td > < td > < code > kill_to_line_end< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-h< / code > , < code > Backspace< / code > < / td > < td > Delete previous char< / td > < td > < code > delete_char_backward< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-d< / code > , < code > Delete< / code > < / td > < td > Delete next char< / td > < td > < code > delete_char_forward< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-j< / code > , < code > Enter< / code > < / td > < td > Insert new line< / td > < td > < code > insert_newline< / code > < / td > < / tr >
< tr > < td > < code > Ctrl-j< / code > , < code > Enter< / code > < / td > < td > Insert new line< / td > < td > < code > insert_newline< / code > < / td > < / tr >
< tr > < td > < code > Backspace< / code > , < code > Ctrl-h< / code > < / td > < td > Delete previous char< / td > < td > < code > delete_char_backward< / code > < / td > < / tr >
< tr > < td > < code > Delete< / code > , < code > Ctrl-d< / code > < / td > < td > Delete next char< / td > < td > < code > delete_char_forward< / code > < / td > < / tr >
< / tbody > < / table >
< / tbody > < / table >
< / div >
< / div >
< p > However, if you really want navigation in insert mode, this is supported. An
< p > These keys are not recommended, but are included for new users less familiar
example config that gives the ability to use arrow keys while still in insert
with modal editors.< / p >
mode:< / p >
< div class = "table-wrapper" > < table > < thead > < tr > < th > Key< / th > < th > Description< / th > < th > Command< / th > < / tr > < / thead > < tbody >
< pre > < code class = "language-toml" > [keys.insert]
< tr > < td > < code > Up< / code > < / td > < td > Move to previous line< / td > < td > < code > move_line_up< / code > < / td > < / tr >
" up" = " move_line_up"
< tr > < td > < code > Down< / code > < / td > < td > Move to next line< / td > < td > < code > move_line_down< / code > < / td > < / tr >
" down" = " move_line_down"
< tr > < td > < code > Left< / code > < / td > < td > Backward a char< / td > < td > < code > move_char_left< / code > < / td > < / tr >
" left" = " move_char_left"
< tr > < td > < code > Right< / code > < / td > < td > Forward a char< / td > < td > < code > move_char_right< / code > < / td > < / tr >
" right" = " move_char_right"
< tr > < td > < code > PageUp< / code > < / td > < td > Move one page up< / td > < td > < code > page_up< / code > < / td > < / tr >
" C-b" = " move_char_left"
< tr > < td > < code > PageDown< / code > < / td > < td > Move one page down< / td > < td > < code > page_down< / code > < / td > < / tr >
" C-f" = " move_char_right"
< tr > < td > < code > Home< / code > < / td > < td > Move to line start< / td > < td > < code > goto_line_start< / code > < / td > < / tr >
" A-b" = " move_prev_word_end"
< tr > < td > < code > End< / code > < / td > < td > Move to line end< / td > < td > < code > goto_line_end_newline< / code > < / td > < / tr >
" C-left" = " move_prev_word_end"
< / tbody > < / table >
" A-f" = " move_next_word_start"
< / div >
" C-right" = " move_next_word_start"
" A-< " = " goto_file_start"
" A-> " = " goto_file_end"
" pageup" = " page_up"
" pagedown" = " page_down"
" home" = " goto_line_start"
" C-a" = " goto_line_start"
" end" = " goto_line_end_newline"
" C-e" = " goto_line_end_newline"
" A-left" = " goto_line_start"
< / code > < / pre >
< h2 id = "select--extend-mode" > < a class = "header" href = "#select--extend-mode" > Select / extend mode< / a > < / h2 >
< h2 id = "select--extend-mode" > < a class = "header" href = "#select--extend-mode" > Select / extend mode< / a > < / h2 >
< p > This mode echoes Normal mode, but changes any movements to extend
< p > This mode echoes Normal mode, but changes any movements to extend
selections rather than replace them. Goto motions are also changed to
selections rather than replace them. Goto motions are also changed to