如何将 vim(键绑定)与 Visual Studio 代码 vim 扩展一起使用

How to use vim (key-bindings) with Visual Studio Code vim extension

我刚开始使用 Visual Studio 代码,觉得它真的很棒。 还安装了 vim 扩展,但我正在努力将 esc 映射到另一个键。

通常我有这个:

:imap jj <Esc>

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

[{
    "key": "jj",
    "command": "vim.Esc",
    "when": "editorTextFocus"
}]

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

{
  "vim.keyboardLayout": "en-US (QWERTY)",
    "vim.insertModeKeyBindings": {
        "j": "vim.Esc"
    }
}

也没用。那么有没有人知道如何在 VS Code 中使用 vim 扩展,我可以在其中将 jj 映射到 Esc 或其他映射到 Esc

this issue,我了解到你可以使用像

这样的东西
{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" },

但确实存在无法使用j移动的问题

PS。我知道这不是一个完整的答案,而是需要解决的问题。

将以下内容添加到 settings.json(打开命令面板并搜索 "User Settings"):

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

应该这样做。

如果您在 Linux 上 运行 并使用 setxkbmapEsc 重新映射到 Caps-Lock 并且遇到问题,我建议采用以下解决方法 Fix for Esc remapping

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

"keyboard.dispatch": "keyCode"

之后你应该保存并重新启动