Sublime Text 的 Ctrl+B 快捷键需配合正确构建系统才生效,构建文件必须命名为 xxx.sublime-build 并保存在 Packages/User/ 目录下,且 selector 要匹配当前语法高亮(如 source.python),否则无法触发。

Sublime Text 的 Ctrl+B(或 Cmd+B)默认就是运行代码的快捷键,但它不会自动生效——必须先配对正确的构建系统,否则按了等于没按。
构建系统文件名和保存位置必须严格匹配
新建的构建系统必须保存为 xxx.sublime-build 格式,且只能放在 Packages/User/ 目录下(不是 Packages/Python/ 或其他路径)。Sublime 不会扫描子目录,也不会识别 .json 或 .txt 后缀。
- 正确路径示例:
Packages/User/Python3.sublime-build - 错误命名:
python3.json、Python3.build、User/Python3.sublime-build(缺Packages/前缀) - 保存后无需重启 Sublime,但要确保右下角状态栏显示语言名(如 Python),否则
selector不会匹配
cmd 和 shell_cmd 选哪个?看是否需要交互
cmd 在 Sublime 自带输出面板中执行,适合无 input() 的脚本;shell_cmd 更灵活,但 Windows 上容易因空格路径崩溃。含用户输入的 Python 脚本,cmd 会直接关闭面板——必须换方案。
- 纯输出脚本(如
print("hello")):用"cmd": ["python", "-u", "$file"]即可 - 含
input()的脚本:原生cmd不支持交互,得用"target": "terminus_exec"配合 Terminus 插件 - Windows 下路径含空格(如
C:Program FilesPythonpython.exe):cmd会失败,改用shell_cmd并加引号:"shell_cmd": ""C:\Program Files\Python\python.exe" -u "$file""
selector 写错就等于没配
构建系统靠 selector 字段决定“什么时候触发”,它不看文件后缀,只认当前视图的语言语法高亮标识。如果右下角显示的是 Plain Text,哪怕你打开的是 main.py,selector 也永远不会匹配 source.python。
- 常见 selector 值:
source.python、source.c、source.shell、source.js - 确认当前 selector:按
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Set Syntax: Python手动切换 - 调试技巧:在构建系统里加个明显错误命令(如
"cmd": ["echo", "test"]),再按 Ctrl+B,看输出面板是否出现 test——能出说明 selector 匹配成功,问题在后续命令
快捷键失效的静默原因几乎全是 JSON 格式错误
自定义快捷键写在 User.sublime-keymap 里,这个文件极其脆弱:一个中文逗号、多一个末尾逗号、括号不闭合,都会导致整份配置静默失效(右下角弹红字提示,但很多人忽略)。
-
"keys": "ctrl+b"❌ 必须是数组:"keys": ["ctrl+b"]✅ - 所有字符串必须用英文双引号,不能用单引号或中文引号
- 整个文件必须是合法 JSON 数组,哪怕只加一条规则也要用方括号包裹:
[{"keys": ["ctrl+r"], "command": "build", "args": {"variant": "Run"}}] - 别覆盖默认
ctrl+b,优先新增组合键(如ctrl+alt+r),避免破坏原有构建功能
最常被跳过的一步是确认右下角语言名——很多人反复修改构建系统却忘了检查那里是不是还写着 Plain Text。Selector 匹配不上,后面所有配置都是白忙。

















