You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Helix is first and foremost a modal editor. Willingness to support non-modal
editing is there, but it is not one that should be encouraged with the default
settings. There are an increasing number of users who are stumbling because
they are trying to use Helix as a non-modal editor, so this is an effort to
encourage new users to stop and take notice that Helix has a different paradigm
than VSCode, Sublime, etc. Users can still add these bindings back to their own
configs if they wish.
Copy file name to clipboardExpand all lines: book/src/keymap.md
+18-16Lines changed: 18 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -315,10 +315,12 @@ Mappings in the style of [vim-unimpaired](https://github.com/tpope/vim-unimpaire
315
315
316
316
## Insert Mode
317
317
318
-
We support many readline/emacs style bindings in insert mode for
319
-
convenience. These can be helpful for making simple modifications
320
-
without escaping to normal mode, but beware that you will not have an
321
-
undo-able "save point" until you return to normal mode.
318
+
Insert mode bindings are somewhat minimal by default. Helix is designed to
319
+
be a modal editor, and this is reflected in the user experience and internal
320
+
mechanics. For example, changes to the text are only saved for undos when
321
+
escaping from insert mode to normal mode. For this reason, new users are
322
+
strongly encouraged to learn the modal editing paradigm to get the smoothest
323
+
experience.
322
324
323
325
| Key | Description | Command |
324
326
| ----- | ----------- | ------- |
@@ -327,23 +329,23 @@ undo-able "save point" until you return to normal mode.
327
329
|`Ctrl-r`| Insert a register content |`insert_register`|
328
330
|`Ctrl-w`, `Alt-Backspace`, `Ctrl-Backspace`| Delete previous word |`delete_word_backward`|
329
331
|`Alt-d`, `Alt-Delete`, `Ctrl-Delete`| Delete next word |`delete_word_forward`|
330
-
|`Alt-b`, `Ctrl-Left`| Backward a word |`move_prev_word_end`|
331
-
|`Ctrl-b`, `Left`| Backward a char |`move_char_left`|
332
-
|`Alt-f`, `Ctrl-Right`| Forward a word |`move_next_word_start`|
333
-
|`Ctrl-f`, `Right`| Forward a char |`move_char_right`|
334
-
|`Ctrl-e`, `End`| Move to line end |`goto_line_end_newline`|
335
-
|`Ctrl-a`, `Home`| Move to line start |`goto_line_start`|
336
332
|`Ctrl-u`| Delete to start of line |`kill_to_line_start`|
337
333
|`Ctrl-k`| Delete to end of line |`kill_to_line_end`|
338
334
|`Ctrl-j`, `Enter`| Insert new line |`insert_newline`|
0 commit comments