1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-12-22 18:38:00 +00:00
prezto/modules/editor
Samantha McVey e3520b737f [editor] Fix undefined results with unbound keys in viins/vicmd
Bind the remaining unbound keys in the main mode so that they
don't result in undefined functionality when pressed. (Often this
will change the casing of one/most/all of the characters you've
typed or even stranger things). In emacs mode this usually just
inserts a tilde, but this will fix that as well so nothing happens
when unbound keys are pressed.

Since there isn't any binding which does "nothing", create a noop
ZLE widget and bind them to that.

The user or other modules are still able to override these bindings
either by overriding the main keymap or setting a keymap in one
of the other modes which will take precedence over the main fallback.
2017-07-07 14:10:54 -07:00
..
init.zsh [editor] Fix undefined results with unbound keys in viins/vicmd 2017-07-07 14:10:54 -07:00
README.md [editor] Add bindkey-all function to show all bound keys (#1358) 2017-07-05 23:05:31 -07:00

Editor

Sets key bindings.

Settings

Key bindings

To enable key bindings, add the following to zpreztorc, and replace 'bindings' with 'emacs' or 'vi'.

zstyle ':prezto:module:editor' key-bindings 'bindings'

Dot Expansion

To enable the auto conversion of .... to ../.., add the following to zpreztorc.

zstyle ':prezto:module:editor' dot-expansion 'yes'

PS Context

To enable the prompt context to be set, add the following to your zpreztorc.

zstyle ':prezto:module:editor' ps-context 'yes'

Theming

To indicate when the editor is in the primary keymap (emacs or viins), add the following to your theme_prompt_setup function.

zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'

To indicate when the editor is in the primary keymap (emacs or viins) insert mode, add the following to your theme_prompt_setup function.

zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'

To indicate when the editor is in the primary keymap (emacs or viins) overwrite mode, add the following to your theme_prompt_setup function.

zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'

To indicate when the editor is in the alternate keymap (vicmd), add the following to your theme_prompt_setup function.

zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'

To indicate when the editor is completing, add the following to your theme_prompt_setup function.

zstyle ':prezto:module:editor:info:completing' format '...'

Then add $editor_info[context], where context is keymap, insert, or overwrite, to $PROMPT or $RPROMPT.

Convenience Functions

bindkey-all

Provides a function bindkey-all which can be useful for checking how all of the keys are bound. Normal bindkey command will only list the keys bound for one keymap, which is not as useful if you want to grep through the output. The keymap's names go to stderr so when you grep through bindkey-all's output you will still see the headings and can tell which keymap each binding goes to.

It will also pass through arguments so you can use bindkey-all to set bindings for all keymaps at once. If provided arguments it will not print out the names of each of the keymaps, and just run the command fear each keymap.

Authors

The authors of this module should be contacted via the issue tracker.