1

我有一个新安装的 Visual Studio Code(默认配置,带有 vim 键盘映射)。我想使用命令“添加选择以查找下一个匹配项”。我认为这相当于多游标在 sublime text 和 vim(带有扩展名)或 Atom(查找和替换:选择下一个)中的工作方式。

当我尝试通过使用Ctrl D它直接运行命令不起作用时,将我带到文件的最后一行。这可能是某种易于解决的冲突。

更有趣的是,当我从命令面板运行命令时Ctrl Shift P

  1. 第一次选择我所在的词(干得好!)
  2. 第二次选择该词的下一个出现,但丢失了选择,将两个光标移动到该词的两个第一次出现之后。
  3. 第三次和下一次什么都没有发生,上次的选择丢失了。

如何获得其他编辑器具有的令人敬畏的正常行为?

PD:我现在已经确认,如果没有 vim 键盘映射,这种行为是不存在的,它们可能以某种方式兼容吗?

4

1 回答 1

1

Ctl + D是一个默认的 Vim 键绑定,它在缓冲区中向下滚动窗口。这是 Vim 扩展的预期行为,如果您希望使用它来运行 VSCode 命令“添加选择以查找下一个匹配项”,则应禁用映射。

为此,请单击File > Preferences > Extensions打开扩展的设置。从那里,选择 Vim 扩展并选择配置扩展设置选项。将有一个名为Handle Keys的选项,您可以在其中输入 JSON 数据以将某些组合键发送回 VSCode(还有另一个选项可以关闭所有Ctl + Letter组合,称为Use Ctrl Keys)。您可以在扩展程序的 Marketplace 页面上找到此类数据的一些示例。下面是我添加到我的settings.json文件中以取回的代码片段Ctl + D

"vim.handleKeys": {
    "<C-d>": false
}

根据我的测试,更改此设置似乎也修复了使用命令面板时的行为。这可能是一个错误,但谁在乎你什么时候最有可能只是要使用Ctl + D。:)

于 2019-08-29T18:38:07.950 回答