VS Code 多光标编辑怎么只选中相同词的部分匹配
来源:17golang原创
时间:2026-09-09 07:33:57 350浏览 收藏
在 VS Code 里,想把重复出现的同一个词改掉几处,关键不是使用“全选所有匹配”,而是从当前词开始用 ⌘D 逐次增加选区。遇到不想修改的下一处,就按 ⌘K ⌘D 跳过它,再继续选择后面的匹配。这样既能保留未选中的原词,也能把多光标编辑控制在明确范围内。
⌘D:选择当前词,再逐次加入下一个匹配。⌘K ⌘D:跳过当前不想修改的下一处匹配。⇧⌘L:一次选中全部匹配,本题只需要局部修改时不要误用。
本文以 macOS 快捷键为例,Windows 使用 Ctrl+D、Ctrl+K Ctrl+D、Ctrl+Shift+L,Linux 使用 Ctrl+D、Ctrl+K Ctrl+D、Ctrl+Shift+L。如果你只想选中“部分匹配项”,下面的第三步正是关键。
| 目的 | macOS | Windows / Linux | 结果 |
|---|---|---|---|
| 逐个添加匹配 | ⌘D | Ctrl+D | 当前词与下一个匹配加入选区 |
| 跳过下一处 | ⌘K ⌘D | Ctrl+K Ctrl+D | 不选中当前遇到的下一处 |
| 全部选中 | ⇧⌘L | Ctrl+Shift+L | 所有匹配同时进入多光标 |
步骤一:打开文件并定位目标词
先准备一个包含重复文本的文件,例如在编辑器中放入三处独立的 timeout,并额外放一处 timeoutMs。通过菜单路径 Explorer > OPEN EDITORS > 打开的文件进入编辑区,把鼠标放到第一处完整的 timeout 中。
这里要先分清“相同词”和“词的一部分”:光标放在 timeout 内时,VS Code 会以当前词为选择对象;timeoutMs 是更长的标识符,不应把它当作本次局部编辑的目标。确认编辑器只突出当前词后再继续。

步骤二:用 ⌘D 逐次加入需要修改的匹配
操作路径是编辑器目标词 > 按一次 ⌘D > 再按 ⌘D。第一次会选中光标所在的 timeout,第二次把下一个相同词加入选区;每多按一次,就会继续加入后续匹配。不要拖动鼠标去拼接选区,否则容易把空格或标点也带进去。
例如三处 timeout 中只需要改前两处,就在出现两个选区时停下。可见的验收条件是:两个词同时高亮,编辑器中出现两个插入光标,未处理的第三处仍是普通文本。
步骤三:遇到不想修改的匹配时用 ⌘K ⌘D 跳过
如果目标顺序是“第一处要改、第二处保留、第三处要改”,在第一处按 ⌘D 后,不要再次直接按 ⌘D。改走路径编辑器当前选区 > ⌘K ⌘D 跳过下一处 > ⌘D 加入后续匹配。
此时第二处会保持未选中,第三处加入多光标。看到状态栏显示两个选区,且中间那处 timeout 没有高亮,就说明范围控制成功。⇧⌘L 的作用是把所有当前匹配一次加入,不适合这个场景;误按后可以按 Escape 清掉多光标,再从第一处重新开始。

步骤四:输入新值并核对局部替换结果
确认选区数量和位置后,直接输入 deadline,两个光标会同时插入新值。然后按 Escape 退出多光标模式,再按 ⌘S 保存。操作路径是多选文本 > 输入 deadline > Escape > File > Save。
最终验收不要只看高亮是否消失,而要看三个事实:两处目标词已经变成 deadline;被跳过的 timeout 仍然存在;文件标签页的未保存圆点消失。若三处都变了,通常是把 ⇧⌘L 当成了逐次选择,或者在第三步没有跳过中间匹配。

常见问题
按 ⌘D 后为什么选中了我不想改的下一处?
⌘D 的行为就是继续选择下一个匹配。遇到不需要的项时,应先按 ⌘K ⌘D 跳过,再按 ⌘D 选择后续项;已经选错时按 Escape 重置最稳妥。
怎样只改同名词,不误改 timeoutMs?
先把光标放在完整词内,并观察 VS Code 的词边界高亮。若要处理更复杂的字符串片段,可改用 Find 面板的 Match Case、Match Whole Word 或 Regular Expression 选项,先确认匹配范围再编辑。
⌘D 没有添加光标怎么办?
检查当前焦点是否在编辑器,而不是 Explorer 或输入框;也可以打开 Command Palette 搜索“Add Selection To Next Find Match”,在 Keyboard Shortcuts 中查看该命令是否被改绑。
多光标局部修改的判断标准很简单:选区数量等于计划修改的数量,未选中的原词保留,保存后文件状态正常。把逐次加入、跳过匹配和全部选中三个命令区分开,重复文本较多时也能保持可控。
-
文章 · 软件教程 | 1小时前 | vs code · 软件教程 · 编辑器设置 · 工作区 · 项目配置 · VS Code settings.json 工作区设置 Workspace settings .vscode156 收藏
-
311 收藏
-
494 收藏
-
140 收藏
-
444 收藏
-
479 收藏
-
文章 · 软件教程 | 10小时前 | jdk · jetbrains · IntelliJ IDEA · 项目配置 · jdk JetBrains IDE Project SDK Gradle JVM375 收藏
-
367 收藏
-
416 收藏
-
438 收藏
-
430 收藏
-
204 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习