Vim: Remapping ESC in insert mode with CR or Space does work via settings

Created on 30 Apr 2018  路  6Comments  路  Source: VSCodeVim/Vim

Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT

What happened:
Remapping to ESC does not work at all. This includes the solution posted in the README and will all other extensions disabled. I have no fucking clue what's going on.

I've been going off of #1908 and #2411 as some general guidelines to trying to solve the issue.
Firstly, as previously mentioned, I tried the solution presented in the README:

"vim.insertModeKeyBindings": [
        {
            "before": ["j", "j"],
            "after": ["<Esc>"]
        }
    ]

When I'm in insert mode and press jj it simply types out "jj". Honestly, that's not that surprising to me. I have no idea why you'd want this anyways (I'm probably using it wrong honestly).

I've traded out the "before" sequence for ["j","j"], ["<S-Space>"], and ["<S-CR>"],

I've traded out the "after" for the "commands" equivalent ("extension.vim_escape").

I've tried out "vim.insertModeKeyBindings" for "vim.insertModeKeyBindingsNonRecursive"

None of these work. Again, the only extension enabled is Vim. And it doesn't do anything

What did you expect to happen:
I expected to type jj or whatever key combination I've chosen to escape insert mode while I'm in insert mode.

How to reproduce it (as minimally and precisely as possible):

  1. Put the before mentioned solution from the README into setting.json
  2. Go to a document (python document in my case)
  3. Press i to go to insert mode or A to go append a line (still brings you to insert mode)
  4. Type some giberish
  5. Press jj on my keyboard quickly
  6. I see "jj" typed out on the screen
  7. Try all the combinations, repeat steps 2-6

Environment:

  • Extension (VsCodeVim) version: 0.11.5
  • VSCode version: 1.22.2
  • OS version: Windows 8.1 (unfortunately)

~Note: I'm using code for keys I physically press and "quotes" for what comes up on screen. So I press the j key and the letter "j" comes up on screen.~ TIL <kbd>[keyboard text]</kbd> is a thing

areremap help wanted sizS

Most helpful comment

A way I just found around it is to do a keyboard mapping of Shift+Enter in normal VS Code keyboard maps:

    {
        "key": "shift+Enter",
        "command": "extension.vim_escape",
        "when": "editorTextFocus"
    }

Probably not ideal, but it doesn't appear to interfere with anything.

All 6 comments

Restart vscode after you add the mapping ;)

That doesn't work either unfortunately. At least with the solution presented in README. I haven't tried with the others. I legit think I'm just doing something wrong, I just don't know what.
Edit: also doesn't work with "<S-CR>"

The config seems to work in my machine
vscodevim-jj-map

Alright, I don't know what I did differently, but I left my computer for 6 hours and now it is working in some cases. "j","j" works now, and so does "C-n".

Anything with CR or Space though isn't working. Not sure if I should close the issue, keep it open, or make a new one for the CR and Space issues.

A way I just found around it is to do a keyboard mapping of Shift+Enter in normal VS Code keyboard maps:

    {
        "key": "shift+Enter",
        "command": "extension.vim_escape",
        "when": "editorTextFocus"
    }

Probably not ideal, but it doesn't appear to interfere with anything.

Mis-read this original issue. The remapping example works for me...

"vim.insertModeKeyBindings": [
        {
            "before": ["j", "j"],
            "after": ["<Esc>"]
        }
    ]

The <Shift> are a little weird. We support remapping of shift + character which in simplified English terms means, the capital form of that character (ie. you can remap "A", "B", etc). This extension does not bind to a + Carriage Return/Alt/Tab -- we do support shift+backspace (https://github.com/VSCodeVim/Vim/blob/master/package.json#L290) though. What this means is if you press these keycombos, vscode doesn't pass it along to the extension and therefore we know nothing about it.

Closing this as a dupe of https://github.com/VSCodeVim/Vim/issues/1908

Was this page helpful?
0 / 5 - 0 ratings

Related issues

typeoneerror picture typeoneerror  路  3Comments

ACollectionOfAtoms picture ACollectionOfAtoms  路  3Comments

WangRongda picture WangRongda  路  3Comments

cckowin picture cckowin  路  3Comments

gerardmrk picture gerardmrk  路  3Comments