3

我有一些肩痛,我正试图通过使用 vscodevim 来消除。

到目前为止,我对 vscodevim 的最大问题是有时会与 VS 代码快捷方式发生冲突。例如,我经常使用Ctrl+K S. 但是启用 vscodevim 后,该组合键会执行其他操作。

我对必须使用我自己的键 VS Code 键绑定构建配置的前景感到厌倦,这与 vsvim 不冲突。我希望有更好的解决方案。

所以我问你,我比较了解的同事,你是如何解决这个问题的?

4

2 回答 2

4

没有简单的方法可以避免 vscode 快捷方式和 vscodevim 绑定之间的冲突。我建议您尽可能使用 vim 键绑定而不是 vscode 快捷方式。如果你愿意重新学习如何使用 vscode,vscodevim 可以证明是通向 vim 的一个很好的途径。

与其构建自己的不与 vscodevim 冲突的配置,不如将精力转向寻找在 vim 中执行相同操作的方法。您可以搜索网页或使用 vim 帮助。

Vim 帮助非常全面且易于阅读。如果您安装了 vim,您可以使用:help:h跟随特定主题,例如,如果您需要阅读有关导航类型的信息:h navigation

现在您有两个选择,我将尝试使用您提供的示例,即保存文件:

  1. 使用可用于在 vim 中保存文件的绑定

    Vim 提供了很多用于保存和退出文件的快捷方式,在 vim 中尝试:help write:help quit了解更多。其中许多快捷方式也适用于 vscodevim。

    保存文件:

    • :w保存单个文件

    • :wa写入所有缓冲区(在 vscode 中所有修改的文件)。

  2. 从 vscodevim 中删除绑定并使用 vscode 快捷方式。

    您可以将组合键委托回 vscode。我建议你只有在有任何绝对必要的 vscode 快捷方式并且它与 vscodevim 冲突时才这样做,因为这样做可能会导致一些相关的 vim 绑定不起作用。要知道Ctrl+k在 vi​​m 中的作用,请输入:h ctrl-kvim。

    如果要Ctrl+K S用于保存文件,请执行以下操作:

    • 打开vscode设置并搜索vim handlekeys或直接打开vscode的settings.json

    • 添加以下内容"vim.handleKeys": {"<C-k>": false}

我不知道这是否是一个更好的解决方案,但我遇到了你的情况并尝试了不同的方法来解决它。最后我发现使用 vim 键绑定比尝试强制 vscodevim 容易得多。

于 2020-06-16T16:49:45.950 回答
1

我设置了一个“toggleVim”键绑定,如下所示:https ://stackoverflow.com/a/61652769/1054322

当我想使用与 vim 冲突的热键时,我只需关闭 vim。

于 2021-01-26T23:58:58.157 回答