vscode默认不启用sublime快捷键,需显式开启内置keymap设置或安装官方扩展;1.80+版本可通过设置搜索keymap并选择sublime text立即生效,无需重启,覆盖ctrl+p、ctrl+d等常用操作,但不支持sublime特有插件命令。

VSCode 默认不启用 Sublime 快捷键,必须显式开启 Keymap 或安装对应扩展,否则 Ctrl+D、Ctrl+Shift+K 等操作完全无效。
直接启用内置 Sublime Keymap 设置(最简路径)
VSCode 1.80+ 已将 Sublime Text 键位方案集成进核心设置,无需装扩展也能用。这是最快生效的方式,适合只想快速写代码、不折腾配置的用户。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置 - 右上角搜索框输入
keymap - 找到
Keymap选项,点击下拉菜单,选中Sublime Text - 关闭设置页,立即生效 —— 不需要重启,
Ctrl+P、Ctrl+D、Ctrl+Shift+L全部可用
这个方式绕过了扩展依赖,也避免了 keybindings.json 手动维护的出错风险。但注意:它只覆盖 VSCode 原生支持的命令,不支持 Sublime 特有插件命令(比如 Package Control: Install Package 这类根本不存在于 VSCode 的功能)。
安装官方 Sublime Text Keymap 扩展(兼容性更强)
如果你用的是旧版 VSCode(Alt+F3 多词选中在某些系统上被拦截),推荐走扩展路径。Microsoft 官方维护的 Sublime Text Keymap 扩展做了更完整的语义对齐。
- 按
Ctrl+Shift+X打开扩展面板 - 搜索
Sublime Text Keymap,认准发布者是Microsoft - 安装后,VSCode 会提示“重新加载窗口”,点确认
- 重载后,
Ctrl+Shift+K删除整行、Ctrl+Shift+Space折叠代码块等行为会更贴近 Sublime 实际表现
该扩展还额外处理了 macOS 下 Cmd 键与 Ctrl 键的映射逻辑,比纯设置项更鲁棒。不过要注意:如果同时启用了设置里的 Keymap 和这个扩展,不会冲突,扩展优先级略高。
手动编辑 keybindings.json 覆盖特定快捷键
当默认映射和扩展都未能解决某个具体按键问题时(例如你习惯用 Ctrl+K Ctrl+U 转小写,但 VSCode 没绑定,或被其他扩展劫持),就得进 JSON 文件微调。
- 按
Ctrl+Shift+P→ 输入Preferences: Open Keyboard Shortcuts (JSON)回车 - 在
[后新增对象,例如修复大小写转换:[{"key": "ctrl+k ctrl+u", "command": "editor.action.transformToUppercase", "when": "editorTextFocus && !editorReadonly"}] - 保存后自动生效;若无效,检查
when条件是否匹配当前上下文(比如光标是否在编辑器内)
常见坑:复制粘贴别人给的键位配置时,容易漏掉逗号导致 JSON 解析失败;VSCode 不报错,只是静默忽略整段。建议每次只加一条,验证后再加下一条。
为什么有些 Sublime 快捷键就是不工作?
不是配置没生效,而是 VSCode 根本没有对应命令,或命令名已变更。比如:
-
Ctrl+Shift+P在 VSCode 中是workbench.action.showCommands,名称不同但行为一致;但Ctrl+Shift+V(Sublime 的粘贴并缩进)在 VSCode 中需靠editor.action.paste+ 自定义editor.formatOnPaste配合实现 -
Ctrl+Shift+Up/Down移动整行,在 VSCode 中对应命令是editor.action.moveLinesUpAction,不是所有主题或键盘布局都默认绑定 - 某些快捷键被系统级软件(如 Karabiner、Raycast、输入法)提前捕获,VSCode 根本收不到 —— 可在 VSCode 的键盘快捷方式设置里搜该组合键,看是否显示“未绑定”或“被拦截”
真正卡住的地方往往不在 VSCode 配置本身,而在操作系统层或第三方工具的干扰。先关掉全局热键管理软件,再测试,能省掉一半排查时间。











