ctrl+b未生效通常因系统或输入法劫持,验证方法是ctrl+`打开控制台后执行sublime.log_input(true),再按ctrl+b——若控制台无任何输出,说明按键信号未进入sublime。

怎么确认 Ctrl+B 真的没进 Sublime?
很多“运行不了代码”问题,根本不是 Sublime 的 build 命令坏了,而是 Ctrl+B 在进编辑器前就被系统或输入法吞掉了。Windows 下 NVIDIA 控制面板、Intel 显卡工具常默认占用;macOS 上 Spotlight(Cmd+Space)或输入法切换(Ctrl+Space)也爱劫持。最直接验证方式:Ctrl+` 打开控制台,输入 sublime.log_input(True) 回车,再按 Ctrl+B —— 如果控制台**完全没输出**,说明信号压根没到 Sublime。
怎么改掉默认 Ctrl+B,又不丢构建功能?
别改 Default 文件,它只读且会随更新重置。所有自定义必须写进 User.sublime-keymap:Preferences → Key Bindings,右侧文件就是它。改法不是“删除旧绑定”,而是加一条新规则覆盖:
-
"keys": ["ctrl+alt+b"]这类带修饰键的新组合,避开冲突区 -
"command": "build"必须用实测命令名,别写run_build或execute_build - 如果想保留原
Ctrl+B但加条件(比如只在 Python 文件里触发),得加context:
[{"keys": ["ctrl+b"], "command": "build", "context": [{"key": "selector", "operator": "equal", "operand": "source.python"}]}]
注意:多条规则共存时,Sublime 按顺序匹配,第一条满足即执行,后续忽略。
一款AI工具,主要用于Monitor and clean up invalid Codex authentication files in CPA. Check quota status, disable files returning 401 errors, and perform dual verification before deletion.,适合需要提升相关任务效率的用户。
为什么改了 build 快捷键却没反应?
90% 是 JSON 格式崩了,Sublime 不报错,只静默失效。常见雷区:
- 用中文引号或全角标点 —— 全部必须是英文双引号
" - 数组末尾多逗号:
[{"keys": ["ctrl+b"], "command": "build"},]❌ -
keys写成大写Keys或驼峰ctrlB—— 必须小写、短横线连接 - 没把规则包在
[ ]里 —— 即使只有一条,也得是合法 JSON 数组 - 误把鼠标快捷键写进
.sublime-keymap—— 鼠标绑定要另建.sublime-mousemap
怎么让 Ctrl+B 在不同语言下跑不同构建系统?
靠 context 区分语法类型是最稳的做法,比如 Python 跑 python -m py_compile,JS 跑 node:
- 先确保对应构建系统已配置好(
Tools → Build System → New Build System…) - 在
User.sublime-keymap中写两条规则,用selector锁定语言:
[{"keys": ["ctrl+b"], "command": "build", "context": [{"key": "selector", "operator": "equal", "operand": "source.python"}]}, {"keys": ["ctrl+b"], "command": "build", "context": [{"key": "selector", "operator": "equal", "operand": "source.js"}]}]
注意:多个 context 条件是“且”关系;想实现“或”,比如 Python 或 Shell 同用一个构建命令,只能拆成两条独立规则,不能塞进同一个 context 数组里。










