Visual Studio Code - “添加选择以查找下一个匹配项”在启用 vim 键盘映射时丢失选择

问题描述 投票:0回答:2

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

当我尝试使用

Ctrl D
直接运行命令时,它不起作用,将我带到文件中的最后一行。这可能是某种很容易解决的冲突。

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

Ctrl Shift P

  1. 第一次选择我所在的单词(干得好!)
  2. 第二次选择该单词的下一次出现,但失去选择,将两个光标移动到该单词的两次首次出现之后。
  3. 第三次和下一次没有任何反应,上次的选择丢失了。

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

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

vim visual-studio-code editor multicursorediting
2个回答
4
投票

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

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

Ctl + D
的代码片段。 "vim.handleKeys": { "<C-d>": false }

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

呢。 :)


-1
投票

轻松替换所有选定的文本。有什么想法吗? 更新:“c”Vim 命令可以解决问题

© www.soinside.com 2019 - 2024. All rights reserved.