On vim, command-mode keys can be mapped through the ex command :map <key> <macro> and insert-mode keys can be mapped through :map! <key> <macro>. After mapped, the commands to remove the mapping from the command-mode keys and insert-mode keys are unmap <key> and unmap! <key> respectively.
This works well with command-mode keys, but with insert-mode keys the key expansion also works on the ex command line prompt: trying to type the key end up in the macro expansion taking place resulting in bad argument to the unmap! command (E474: Invalid Argument) or maybe the command might try to unmap some different key from the one intended (E31: No such mapping).
How can someone correctly remove a insert-mode mapped key on vim?
While mapping a key, CTRL+V can be used to escape some special characters like ENTER, ESC or some particular control keys.
The same applies when using mapped insert-mode keys: they can be escaped when preceded by CTRL+V both while editing the text and while writing commands to the ex command-line prompt.
If for example, the + insert-key is mapped to some macro and the user wants to unmap it, the key must be escaped while writing the ex command to avoid the macro expansion:
:unmap! + CTRL+V (shows a ^) + <key>
The same can be done if a regular + is needed in the text while editing it in insert-mode.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With