aboutsummaryrefslogtreecommitdiff
path: root/book/src/keymap.md
Commit message (Collapse)AuthorAge
* 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
* Add `save_selection` command (#1247)Omnikar2021-12-10
|
* Add note to `keymap.md` regarding `format_selections` (#1230)Omnikar2021-12-06
|
* Add last modified file (gm) (#1093)Ivan Tham2021-12-02
|
* gf as goto_file (#1102)Bob2021-11-29
| | | | | | | | | | | | | * goto_file * support goto_file under current cursor * add C-w f/F * sync space w with window mode * Update helix-term/src/commands.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Fix next char delete key documentation for prompt (#1180)ath32021-11-28
|
* Implement no-yank delete/change (#1099)ath32021-11-24
|
* Align selections via & (#1101)Bob2021-11-23
| | | | | | | | | | | | | | | | | | | | | * align lines * remove log statement * use selections to align * fix a clippy issue * only accept 1,2,3 as user count * Update helix-term/src/commands.rs Co-authored-by: Ivan Tham <pickfire@riseup.net> * return if user count is not correct * add doc Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Document scrolling for hover command in keymap.md (#1117)Martin Junghanns2021-11-19
| | | | | * Document scrolling for hover command in keymap.md * Move popup keys to a dedicated section
* Remove extra instance of delete_word_backword in book (#1103)NexiNov2021-11-15
|
* Add command to inc/dec number under cursor (#1027)Jason Hansen2021-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add command to inc/dec number under cursor With the cursor over a number in normal mode, Ctrl + A will increment the number and Ctrl + X will decrement the number. It works with binary, octal, decimal, and hexidecimal numbers. Here are some examples. 0b01110100 0o1734 -24234 0x1F245 If the number isn't over a number it will try to find a number after the cursor on the same line. * Move several functions to helix-core * Change to work based on word under selection * It no longer finds the next number if the cursor isn't already over a number. * It only matches numbers that are part of words with other characters like "foo123bar". * It now works with multiple selections. * Add some unit tests * Fix for clippy * Simplify some things * Keep previous selection after incrementing * Use short word instead of long word This change requires us to manually handle minus sign. * Don't pad decimal numbers if no leading zeros * Handle numbers with `_` separators * Refactor and add tests * Move most of the code into core * Add tests for the incremented output * Use correct range * Formatting * Rename increment functions * Make docs more specific * This is easier to read * This is clearer * Type can be inferred