【问题标题】:How do you avoid key binding collisions between VS Code and vscodevim?如何避免 VS Code 和 vscodevim 之间的键绑定冲突?
【发布时间】:2020-06-16 09:55:34
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: visual-studio-code vscodevim


    【解决方案1】:

    没有简单的方法可以避免 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 中的作用,请在 vim 中输入 :h ctrl-k。

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

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

      • 添加关注"vim.handleKeys": {"<C-k>": false}

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我经常忘记重新打开它。如果有人知道在焦点重新进入缓冲区后自动重新打开它的方法,请告诉我。
      猜你喜欢
      • 2014-10-09
      • 1970-01-01
      • 2019-02-21
      • 2022-06-14
      • 2015-07-10
      • 1970-01-01
      • 2021-10-28
      • 2012-11-01
      • 1970-01-01
      相关资源
      最近更新 更多