aboutsummaryrefslogtreecommitdiff
path: root/book/src/keymap.md
Commit message (Collapse)AuthorAge
* Fix link to textobjects usage from keymap documentation (#4357)Peter Phillips2022-10-19
|
* Change diagnostic picker keybind to <space>d (#4229)Gokul Soumya2022-10-17
| | | | | | | Also changes workspace diagnostic picker bindings to <space>D and changes the debug menu keybind to <space>g, the previous diagnostic picker keybind. This brings the diagnostic picker bindings more in line with the jump to next/previous diagnostic bindings which are currently on ]d and [d.
* Show keys required to enter each minor mode (#4302)Ben White-Horne2022-10-16
| | | Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* book: Refer to keys by key names, not representationsTim Siegel2022-10-12
| | | | | | | | | | | | | | | | | | This is an attempt to clean up the inconsistent way that keys are written in various places. These rules require the fewest changes to the existing text. Use the "Key name", as defined in remapping.md, which uses "Some-Modifiers-PascalCaseKey". The "Representation", which uses "S-M-lowercasekey", is only used for configuration entries. For key combinations which do not present a popup, just present the keys one after the other, with no intervening space, like `]p`. For key combinations which present a popup, separate them with ` + `, like `Space + f`. The Ctrl modifier is called Ctrl, not Control.
* remove filterting with C-space from pickerPascal Kuthe2022-10-11
|
* doc: add example to disable arrow keys in insert mode (#4088)Poliorcetics2022-10-04
|
* Keep arrow and special keys in insert (#3915)Ivan Tham2022-10-03
| | | | | | | | | | | | | | | | | | | | | | * Keep arrow and special keys in insert Advanced users won't need it and is useful for beginners. Revert part of #3671. * Change text for insert mode section Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Remove ctrl-up/down in insert * Reorganize insert keys and docs * Improve page up experience on last tutor The last tutor page can page down multiple times and it will break the heading on the 80x24 screen paging when reaching the last page, this keeps the style the same and make sure page up and down won't break it. Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Rename I/A "Insert at start/end of line" (#3753)Michael Davis2022-10-03
| | | | | | | | | | | * keymap: Rename A "Insert at end of line" The language for the `A` binding is potentially confusing because `A` behaves like `i` done at the end of the line rather than `a`. This change renames the command to match Kakoune's language[^1]. [^1]: https://github.com/mawww/kakoune/blob/021da117cf90bf25b65e3344fa8e43ab4262b714/src/normal.cc#L2229 * keymap: Rename I `insert_at_line_start`
* Select inserted space after join (#3549)Ivan Tham2022-10-03
| | | | | | | | | * Select inserted space after join * Split join_selections with space selection to A-J Kakoune does that too and some users may still want to retain their selections. * Update join_selections docs
* Fix the picker’s keymap documentation (#3925)taupiqueur2022-09-21
|
* Fix typos (#3858)taupiqueur2022-09-17
|
* add example config for all removed insert mode bindings (#3827)Skyler Hawthorne2022-09-13
|
* Remove default insert mode movement bindingsSkyler Hawthorne2022-09-08
| | | | | | | | | | 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.
* Add file_picker_in_current_directory to keymap.md (#3701)Michael Kohl2022-09-05
|
* let extend-line respect range direction (#3046)Bob2022-08-29
| | | | | | | | | | | | | * let extend-line respect range direction * fix extend above logic * keep `x` existing binding * Update book/src/keymap.md Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Update keymap.md to have Tab and Shift-tab listed (#3365)notusknot2022-08-11
| | | Co-authored-by: notusknot <notusknot@gmail.com>
* Add table of contents to keymap.md (#3174)Joe2022-07-26
|
* jumplist picker (#3033)Bob2022-07-22
| | | | | | | | | | | | | * jumplist picker * remove jumps slicing Co-authored-by: Benoît Cortier <bcortier@proton.me> * remove unnecessary deref format! parameter Co-authored-by: Benoît Cortier <bcortier@proton.me> Co-authored-by: Benoît Cortier <bcortier@proton.me>
* support toggling pickers' preview panel (#3021)Bob2022-07-18
| | | | | * support toggling pickers' preview panel * add doc for toggling preview
* feat(term): uniformize word-wise movement and deletion (#2500)Benoît Cortier2022-07-15
| | | | | | | | | | | | Ctrl-based shortcuts are common in numerous applications. This change: - Adds Ctrl+{Left/Right/Backspace/Delete} for word-wise movement/deletion in prompt, picker, … - Removes Alt-Left and Alt-Right in prompt, picker, … - Adds Alt-Delete in insert mode for forward word deletion In some terminals, Alt-Backspace might not work because it is ambigous. See: https://github.com/helix-editor/helix/pull/2193#issuecomment-1105042501 Hence, Alt alternative is not removed.
* Fix some typos (#2978)A-Walrus2022-07-06
|
* Add workspace and document diagnostics picker (#2013)Falco Hirschenberger2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add workspace and document diagnostics picker fixes #1891 * Fix some of @archseer's annotations * Add From<&Spans> impl for String * More descriptive parameter names. * Adding From<Cow<str>> impls for Span and Spans * Add new keymap entries to docs * Avoid some clones * Fix api change * Update helix-term/src/application.rs Co-authored-by: Bjorn Ove Hay Andersen <bjrnove@gmail.com> * Fix a clippy hint * Sort diagnostics first by URL and then by severity. * Sort diagnostics first by URL and then by severity. * Ignore missing lsp severity entries * Add truncated filepath * Typo * Strip cwd from paths and use url-path without schema * Make tests a doctest * Better variable names Co-authored-by: Falco Hirschenberger <falco.hirschenberger@itwm.fraunhofer.de> Co-authored-by: Bjorn Ove Hay Andersen <bjrnove@gmail.com>
* book: fix the description of dot repeat (#2878)Amit Beka2022-06-25
| | | Co-authored-by: amitbeka <--->
* text-objects: add test capture & elixir queriesConnor Lay (Clay)2022-06-21
|
* Update keymap docs for window swapping (#2659)nosa2022-06-03
|
* Add shrink equivalent of extend_to_line_bounds (#2450)Daniel S Poulin2022-05-22
| | | | | | | | | | | * Add shrink equivalent of extend_to_line_bounds * Add a check for being past rope end in end position calc * Include the EOL character in calculations * Bind to `A-x` for now * Document new keybind
* support insert register in prompt (#2458)Bob2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | * support insert register in prompt * use next_char_handler instead of a flag * Fix clippy issue * show autoinfo when inserting register * Revert "show autoinfo when inserting register" This reverts commit 5488344de1c607d44bdf8693287a85b92cb32518. * use completion instead of autoinfo autoinfo is overlapped when using prompt * recalculate_completion after inserting register * Update helix-term/src/ui/prompt.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Change A-left right to C-left right in insert (#2193)Ivan Tham2022-04-29
| | | | | | Currently A-left move one word left and the behavior will be more consistent for people coming GUI world if the key was changed to control given that both browsers and editors like vscode uses C-left right by default to move word rather than alt.
* Make A-hjkl tree-sitter nav A-pion (#2205)Ivan Tham2022-04-29
| | | | | | | | | | | A-hl currently is not very consistent with hl when next object is selected, since it may go up/down or left/right and this behavior is confusing such that some people think it should swap the keys with A-jk, so it is better to use A-pn since that only specifies two direction. A-jk have the same issue as in it usually moves right and is not consistent with the behavior of jk so people may think A-hl is better, maybe A-oi is better here since A-hl will be swapped to A-pn, A-oi can convey the meaning of in and out, similar to some window manager keys?
* fix typos (#2304)chunghha2022-04-27
|
* fix keymap doc typo for 'delete' in insert-mode (#1990)Michael Davis2022-04-06
| | | | closes #1980 see also #1180
* Add paragraph textobjectIvan Tham2022-04-02
| | | | | Change parameter/argument key from p to a since paragraph only have p but parameter are also called arguments sometimes and a is not used.
* Resolve conflicts between prompt/picker bindings (#1792)Rohan Jain2022-03-31
| | | | | | | | | | | | | | Currently, the picker's re-using a few bindings which are also present in the prompt. This causes some editing behaviours to not function on the picker. **Ctrl + k** and **Ctrl + j** This should kill till the end of the line on prompt, but is overridden by the picker for scrolling. Since there are redundancies (`Ctrl + p`, `Ctrl + n`), we can remove it from picker. **Ctrl + f** and **Ctrl + b** This are used by the prompt for back/forward movement. We could modify it to be Ctrl + d and Ctrl + u, to match the `vim` behaviour.
* fix #1808Blaž Hrastnik2022-03-14
|
* Update keymap documentation in the book (#1745)Daniel S Poulin2022-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add missing key bindings to keymap docs * Add a note about readline bindings in insert mode * Rewrite section on selection extend mode We seem to have settled on this model, so no reason to say in the docs that this is experimental. I also don't think we have any movements that don't obey extend mode left. * Fix table formatting * Fix missing command for command palette binding * Fix missed capitalization of descriptions in keymap docs * Be consistent with multiple bindings in keymap docs * Fix differently marked up commands in keymap docs * Make special key capitalization consistent Co-authored-by: Michael Davis <michael.davis@nfiindustries.com> * Fix extra space in docs Co-authored-by: Michael Davis <michael.davis@nfiindustries.com> * A few more capitalizations of special keys in keymap docs * Move a selection manipulation key map to the appropriate section in docs * Move minor mode entry bindings to the minor modes section of keymap docs * Add note about default register used in search commands in keymap docs * Fix formatting of rebased addition * Remove note about potential removal of select mode It's been decided since to keep it Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
* Add arrow key mappings for tree-sitter parent/child/sibling nav (#1724)Daniel S Poulin2022-03-08
| | | | | | | | | * Add arrow key mappings for tree-sitter parent/child/sibling nav This helps my use case, where I use a non-qwerty layout with a programmable mechanical keyboard, and use a layer switching key (think fn) to send left down up right from the traditional hjkl positions. * Add new bindings to docs
* Change parameter object keybind from `p` to `a` (#1708)Gokul Soumya2022-03-07
| | | | This is largely to avoid a collision with the soon to be merged paragraph object which takes up the p key.
* Add comment textobject for surround selection and navigation (#1605)Daniel S Poulin2022-03-06
|
* Add docs for tree-sitter based navigationGokul Soumya2022-02-15
|
* Add `PageUp`, `PageDown`, `Ctrl-u`, `Ctrl-d`, `Home`, `End` keyboard ↵Ludwig Stecher2022-02-15
| | | | | | | | | | | | | | | shortcuts to file picker (#1612) * Add `PageUp`, `PageDown`, `Ctrl-u`, `Ctrl-d`, `Home`, `End` keyboard shortcuts to file picker * Refactor file picker paging logic * change key mapping * Add overlay component * Use closure instead of margin to calculate size * Don't wrap file picker in `Overlay` automatically
* Added docs for `ensure_selections_forward` (#1651)Maximilian Schoenenberg2022-02-11
|
* Update keybind docs for treesitter, view mode (#1628)Gokul Soumya2022-02-08
|
* add select_next_sibling and select_prev_sibling commands (#1495)Michael Davis2022-01-20
| | | | | | | | | | | | | | | | | | | * add select_next_sibling and select_prev_sibling commands * refactor objects to use higher order functions * address clippy feedback * move selection cloning into commands * add default keybindings under left/right brackets * use [+t,]+t for selecting sibling syntax nodes * setup Alt-{j,k,h,l} default keymaps for syntax selection commands * reduce boilerplate of select_next/prev_sibling in commands * import tree-sitter Node type in commands
* Minor(book): Add `G` in normal mode (#1482)NexiNov2022-01-12
|
* feat(commands): shrink_selection (#1340)Matouš Dzivjak2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(commands): shrink_selection Add `shrink_selection` command that can be used to shrink previously expanded selection. To make `shrink_selection` work it was necessary to add selection history to the Document since we want to shrink the selection towards the syntax tree node that was initially selected. Selection history is cleared any time the user changes selection other way than by `expand_selection`. This ensures that we don't get some funky edge cases when user calls `shrink_selection`. Related: https://github.com/helix-editor/helix/discussions/1328 * Refactor shrink_selection, move history to view * Remove useless comment * Add default key mapping for extend&shrink selection * Rework contains_selection method * Shrink selection without expand selects first child
* Mark macros as experimental in docsIvan Tham2021-12-27
| | | | | Given that currently macro does not integrate well with registers and the internal representation of macros is expected to be changed.
* Rename play macro to replay macroIvan Tham2021-12-27
| | | | | Macro needs to be defined first before playing so replay is more accurate. Also, replay have the same length as record which makes it looks nice.
* Switch macro Q and qIvan Tham2021-12-27
|
* Change text for gg to explain <n>gg (#1287)Ivan Tham2021-12-18
|
* Macros (#1234)Omnikar2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | * Macros WIP `helix_term::compositor::Callback` changed to take a `&mut Context` as a parameter for use by `play_macro` * Default to `@` register for macros * Import `KeyEvent` * Special-case shift-tab -> backtab in `KeyEvent` conversion * Move key recording to the compositor * Add comment * Add persistent display of macro recording status When macro recording is active, the pending keys display will be shifted 3 characters left, and the register being recorded to will be displayed between brackets — e.g., `[@]` — right of the pending keys display. * Fix/add documentation