Ctrl+C/Ctrl+V失效需先检查快捷键绑定是否被覆盖,重点排查VSCodeVim等扩展劫持;可通过快捷键面板定位生效项,修改vim.handleKeys禁用拦截,或清空keybindings.json重置。

Ctrl+C / Ctrl+V 没反应,先看快捷键绑定是否被覆盖
VSCode 默认的复制粘贴行为由 editor.action.clipboardCopyAction 和 editor.action.clipboardPasteAction 两个命令控制。一旦它们被其他扩展或自定义配置劫持,热键就“静默失效”——按了没反馈,也不报错。
直接打开快捷键面板:Ctrl+K Ctrl+S(Windows/Linux)或 Cmd+K Cmd+S(macOS),在搜索框输入 Ctrl+C 或 Ctrl+V。你会看到所有匹配项,注意两点:
- 带 ▶ 绿色箭头的条目才是当前实际生效的绑定;灰色条目表示
when条件不满足,不参与触发 - 重点关注来源是
Extension的条目,比如gitlens.showQuickFileHistory、vscodevim.handleKey、office.enhancePasterInMarkdown - 右键某条目 → “复制命令 ID”,方便后续精准禁用
Vim 插件拦截了 Ctrl+C/Ctrl+V,怎么绕过?
VSCodeVim 默认会接管几乎所有 Ctrl+ 组合键,包括基础编辑热键。这不是 bug,是设计使然——但你完全可以关掉它。
在 settings.json 中添加:
"vim.handleKeys": {
"<c-c>": false,
"<c-v>": false,
"<c-x>": false
}</c-x></c-v></c-c>
注意: 必须用尖括号包裹,大小写和符号不能错;设为 false 表示交还给 VSCode 原生处理,不是禁用功能本身。
如果改完没生效,检查是否拼错了 vim.handleKeys(少个 s 就完全无效),或者该设置被工作区配置覆盖了。
终端里 Ctrl+V 能用,但右键粘贴失效?查 terminal.integrated.rightClickBehavior
终端的右键行为和编辑器是两套逻辑。默认情况下,VSCode 终端右键弹出的是上下文菜单,不自动粘贴——除非你明确告诉它这么做。
关键配置项是 terminal.integrated.rightClickBehavior,可选值只有三个:
-
"default":只显示菜单(macOS 推荐) -
"paste":右键直接粘贴(Windows/Linux 多数场景适用) -
"selectWord":右键选中光标下单词(调试时有用)
别写成 "true" 或 "enable",VSCode 会静默忽略整条配置。同时确认 terminal.integrated.contextMenu.copyPaste 为 true,否则菜单里压根不显示“粘贴”选项。
清空快捷键配置是最干净的重置方式
如果你不确定哪条规则在捣鬼,或者改来改去还是不对,直接删掉用户级快捷键文件最省事。
执行 Ctrl+Shift+P → 输入并运行 Preferences: Open Keyboard Shortcuts (JSON),确认路径是用户目录下的 keybindings.json(如 ~/.config/Code/User/keybindings.json),然后把文件内容全删掉,只留一个空数组:[],保存。
这个操作不会影响插件、主题、设置或代码片段,只清掉你手动加的快捷键。重启后所有快捷键回归出厂状态,再逐个启用需要的扩展绑定。
真正容易被忽略的是:手动编辑 keybindings.json 时,多一个逗号、少一个引号、when 表达式拼错(比如 editorTextFocus 写成 editorTextFocu),VSCode 都不提示也不报错,整条规则直接消失——你得自己盯住语法细节。











