如何避免 VS Code 和 vscodevim 之间的键绑定冲突?

use*_*776 14 visual-studio-code vscodevim

我有一些肩膀疼痛,我试图通过使用 vscodevim 来摆脱它。

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

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

那么请问各位懂行的同事,你们是如何解决这个问题的呢?

isA*_*Aif 19

没有简单的方法可以避免 vscode 快捷方式和 vscodevim 绑定之间的冲突。我建议您尽可能使用 vim 键绑定而不是 vscode 快捷键。如果您愿意重新学习如何使用 vscode,Vscodevim 可以被证明是通往 vim 的良好门户。

您可以重新寻找在 vim 中执行相同操作的方法,而不是构建自己的不与 vscodevim 冲突的配置。您可以搜索网页或使用 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-k在 vim 中输入。

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

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

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

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


小智 8

我安装了“vscode neovim”而不是“vim”。打开vscode设置,可以搜索"vscode-neovim: Use ctrl keys for insert Mode",禁用它。所以你可以使用“ctrl k+ ctrl c”在插入模式下添加行注释。在此模式下还可以使用其他 vscode“ctrl”键。

禁止在插入模式下使用 Ctrl 键


Mat*_*ice 6

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

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