必须手动绑定快捷键的操作有两个:editor.action.selectAllMatches(全选当前文件所有匹配项)和editor.action.insertCursorAtPreviousPosition/editor.action.insertCursorAtNextPosition(按历史顺序回退/前进添加光标)。

VSCode 默认不缺多光标快捷键,重绑不是为了“启用”,而是补漏或避冲突——比如 editor.action.selectAllMatches 根本没默认绑定,而 Ctrl+Click 加光标会干掉跳转定义。
哪些操作必须手动绑定快捷键?
VSCode 内置了 Ctrl+D、Ctrl+Shift+L、Ctrl+Alt+↑/↓ 等核心多光标键,但以下两个高频动作默认无绑定,常被当成“失灵”:
-
editor.action.selectAllMatches:一次性选中当前文件中所有匹配项(不是只选光标,是完整选区),适合全量替换前预览 -
editor.action.insertCursorAtPreviousPosition和editor.action.insertCursorAtNextPosition:按光标历史顺序回退/前进添加,比Ctrl+Alt+↑/↓更可控,尤其适合误操作后快速撤回
如果你常要“全选所有 user_id 再改”,又不想先点一个再按 Ctrl+Shift+L,就该给 editor.action.selectAllMatches 绑个快捷键,比如 Ctrl+Shift+M。
怎么安全改 editor.multiCursorModifier?
这个配置决定鼠标加光标的修饰键,默认是 alt(即 Alt+Click)。想改成 Ctrl+Click 直接插标?可以,但代价明确:
- 改完值为
ctrlCmd后,Ctrl+Click不再跳转定义,得改用Ctrl+Alt+Click或右键菜单 - 必须重启 VSCode 才生效,且影响所有语言模式
- 装了 Vim 插件时,它可能劫持
Ctrl+Click行为——建议先禁用 Vim 插件验证是否冲突
修改路径:打开设置 → 搜索 editor.multiCursorModifier → 改值 → 重启。
快捷键冲突时优先查什么?
Linux 用户最常踩的坑是系统级快捷键覆盖:
- Ubuntu 等发行版把窗口拖动绑定在
Alt+LeftMouse,和 VSCode 的Alt+Click完全冲突 - Win10 上
Ctrl+Alt+↑/↓可能被显卡驱动(如 Intel/NVIDIA 控制面板)劫持为屏幕旋转热键 - Mac 上误按成
Cmd+Ctrl+↑/↓(系统 Mission Control 快捷键)而非Cmd+Option+↑/↓
排查顺序:先关显卡热键 → 再查系统键盘设置 → 最后看 VSCode 键盘快捷方式里对应命令是否被覆盖(搜索命令名即可看到当前绑定)。
真正容易被忽略的是:多光标编辑本身不依赖快捷键“启动”,它靠的是 VSCode 底层的光标堆栈机制;你绑定的只是触发入口。一旦多个光标激活,后续输入、删除、缩进都会广播执行——但越界删除会静默跳过,不会报错也不会崩,所以批量删字段时务必先 Esc 退出多光标模式确认效果。











