Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VSCode中,保存时退出Vim插入模式_Vim_Visual Studio Code_Vscodevim - Fatal编程技术网

在VSCode中,保存时退出Vim插入模式

在VSCode中,保存时退出Vim插入模式,vim,visual-studio-code,vscodevim,Vim,Visual Studio Code,Vscodevim,我将VSCode与VSCodeVim扩展一起使用。在插入模式下,我可以按“CMD-S”保存。当我这样做时,我也想自动退出插入模式,而不是按“ESC” 这可能吗?VSCodeVim扩展支持插入模式键绑定。是指向描述此功能的扩展自述的链接 下面是一个可以放在settings.json中的代码片段 "vim.insertModeKeyBindingsNonRecursive": [ { "before": [ "<C-s>" ], "commands

我将VSCode与VSCodeVim扩展一起使用。在插入模式下,我可以按“CMD-S”保存。当我这样做时,我也想自动退出插入模式,而不是按“ESC”


这可能吗?

VSCodeVim扩展支持插入模式键绑定。是指向描述此功能的扩展自述的链接

下面是一个可以放在settings.json中的代码片段

"vim.insertModeKeyBindingsNonRecursive": [
    {
        "before": [ "<C-s>" ],
        "commands": [
            { "command": "workbench.action.files.save" },
            { "command": "extension.vim_escape" }
        ]
    }
],
“vim.InsertModeKeyBindings非递归”:[
{
“之前”:[“”],
“命令”:[
{“command”:“workbench.action.files.save”},
{“command”:“extension.vim_escape”}
]
}
],

重新加载vscode窗口后,可以按ctrl+s退出插入模式并保存文件。

我也在寻找类似此问题的解决方案

似乎无法将多个命令映射到vscode中的键绑定;但是,我找到了一个扩展,让我们来做这个

如果您在宏扩展中使用以下步骤,我相信在vscode实现某种功能以满足此功能请求之前,您将获得您正在寻找的解决方案

第一步,使用以下命令编辑用户设置:

"macros": {
    "saveAndExitVimInsertMode": [
        "workbench.action.files.save",
        "extension.vim_escape"
    ]
}
第二步,编辑键盘绑定:

    {
    "key": "cmd+s",
    "command": "macros.saveAndExitVimInsertMode"
    }
打开“显示命令”选项板(Ctrl+Shift+p)。输入“打开键盘快捷键”,
搜索“extension.vim_escape”,并将其编辑为caps lock key的2倍。

Odd。我使用ctrl+n测试它,因为我有其他东西绑定到ctrl+s,这似乎对我有效。我在扩展的github上创建了一个问题:谢谢,我已经将它绑定到
[“:”,“w”]
,但需要额外的击键。名为“saveand…”vs“saveand”的小字体。修复后,效果非常好。请注意,您可能需要通过cmd+s以外的其他方式保存设置文件,因为如果在成功启用宏之前启用键盘绑定,cmd-s将失败。这非常有效…非常感谢!对于将来的读者,要打开PreReference和键盘绑定,请执行以下操作:“…使用open settings(json)命令和“open keyboard Shortcuts(json)”命令编辑底层settings.json文件。