Previously I made a change to try and bind these unbound keys to the main
keymap in thoughts that in vicmd or viins mode it would fallback if it wasn't
bound in vicmd/viins mode. This turned out not to be the case.
Explicitly bind the keys in both viins and vicmd mode as works properly.
Somewhere around zsh 5.1, there was a change which turned typeset (and
most likely local) into a keyword. In older versions of zsh, using
`local x=()` will cause the () to be treated as a glob qualifier.
Fixes#1373
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.
* [editor] Add bindkey-all function to show all bound keys
Function which allows you to see all the bound keys for all of
the different keymaps. It does accept arguments and passes them
through to bindkey -m "$keymap" so you could set a shortcut to
all keymaps as well if you wished.
Makes it much easier to see and grep what keys are bound to each of
the different keymaps.
When no arguments are given it will print keymap headers to stderr,
if given arguments it will not print anything extra to the screen.
* [editor] Update README to include information about bindkey-all funct.
Delete key deletes character in vimcmd cmd mode instead of weird
default functionality. The default functionality in vicmd mode
is the Delete key will change the case of many of the characters
on the screen, which is not the default thing that vim does.
This could be confusing and frustrating to users, so set it to delete
a character instead.