6

我刚开始使用Visual Studio Code并认为它非常棒。 也安装了vim扩展,但我正在努力将esc映射到另一个键。如何在Visual Studio代码中使用vim(键绑定)代码vim扩展

通常我有这样的:

:imap jj <Esc> 

而且我可以看到VS代码有一个keybindings.json文件。我尝试这样做:

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

也有一个settings.json文件,所以我尝试:

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

也没有工作。那么有谁知道如何使用VS Code的vim扩展,我可以在其中映射jjEsc或其他的到Esc也许?

+2

你在使用https://github.com/VSCodeVim/Vim吗? –

+0

是的,我使用https://github.com/VSCodeVim/Vim @sudobangbang – ganjan

回答

20

我是VSCodeVim的开发人员之一。我强烈建议在我们的闲暇频道或通过问题页面提问(可以在Github上的README上找到)。

完井的缘故,这里的回答你的问题:

添加以下settings.json(打开命令调色板,搜索‘用户设置’):

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

应做到这一点。

+1

搜索引擎优化SO这些快速搜索。我真的需要一个精心策划的提示列表或备忘单来转换到VSCODE:D。上面的作品真棒。 – sdkks

+0

使用当前版本的VSCodeVim,它可以使用''而不是''。 – jarandaf

1

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

{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" }, 

但它带有不能够使用j对运动的问题。

PS。我知道这不是一个完整的答案,而是要走的路。

+0

这几乎可以工作,但是当我键入j应用程序冻结等待第二个键..必须确保它只发生在我在vim插入模式... – ganjan