如何在Visual Studio Code vim扩展中使用vim(键绑定)

gan*_*jan 25 vim vim-plugin visual-studio-code

我刚开始使用Visual Studio Code并认为它真的很棒.还安装了vim扩展,但我正在努力映射esc到另一个密钥.

通常我有这个:

:imap jj <Esc>
Run Code Online (Sandbox Code Playgroud)

我可以看到VS Code有一个keybindings.json文件.我试过这个:

[{
    "key": "jj",
    "command": "vim.Esc",
    "when": "editorTextFocus"
}]
Run Code Online (Sandbox Code Playgroud)

还有一个settings.json文件,所以我试过:

{
  "vim.keyboardLayout": "en-US (QWERTY)",
    "vim.insertModeKeyBindings": {
        "j": "vim.Esc"
    }
}
Run Code Online (Sandbox Code Playgroud)

也没工作.那么有没有人知道如何使用VS代码的vim扩展我可以映射jj到Esc或其他什么Esc呢?

the*_*rns 42

将以下内容添加到settings.json(打开命令Pallete并搜索"用户设置"):

"vim.insertModeKeyBindings": [
     {
         "before": ["j", "j"],
         "after": ["<esc>"]
     }
]
Run Code Online (Sandbox Code Playgroud)

应该这样做.

  • SEO赞成这些快速搜索的SO.我真的需要一个精选的技巧列表或备忘单,以便我过渡到VSCODE:D.以上工作真棒. (5认同)
  • 这对我来说已经工作了很长时间,但我开始看到奇怪的行为([参见此处](https://www.dropbox.com/s/a9mqqyfzykrh75w/Screen%20Recording%202020-05-02%20at %205.34.02%20PM.mov?dl=0))。第一个 j 似乎保持在插入模式,然后第二个 j 向后移动一个字符,有时会删除该行。知道什么可能会导致这种情况吗? (2认同)

fua*_*adj 6

如果您在Linux上运行,并且已经使用setxkbmap重新映射Esc到Caps-Lock和有问题的话,建议采取以下解决办法的Esc键重映射修复。

解决方案是将以下内容添加到您的用户设置中

"keyboard.dispatch": "keyCode"

您应该在此之后保存并重新启动 在此处输入图片说明