Sublime Text一键运行Python需配置Build System:指定python绝对路径、加-u参数、设working_dir为"$file_path",保存为Python3.sublime-build并选中该系统,按Ctrl+B执行;Windows用双反斜杠或py启动器,macOS/Linux写全路径,避免依赖PATH。

Sublime Text 本身没有终端快捷编译功能——Ctrl+` 是 Python 控制台,不是 shell;所谓“一键编译运行”,必须靠 build system + 快捷键绑定组合实现,且不能跳过路径、编码、context 三道坎。
为什么 Ctrl+` 不能当终端用
按下 Ctrl+` 后看到 >>> 提示符,输入 ls 报错 NameError: name 'ls' is not defined,说明你还在 Sublime 的 Python 控制台里。它不加载 .zshrc、不继承系统 PATH、也不能执行 gcc 或 npm。这不是 bug,是设计如此。
- 真终端要靠插件:Terminal(调系统终端)或 Terminus(嵌入式伪终端)
- 但“快捷编译”不依赖终端插件,靠的是
build system配置 +build命令绑定 - 混淆这两者,会导致你反复折腾 Ctrl+` 却始终跑不了
g++
怎么写一个能用的 C/C++ 编译 build 文件
点菜单 Tools → Build System → New Build System,粘贴以下内容并保存为 mycpp.sublime-build(注意后缀):
{
"shell_cmd": "g++ -Wall -std=c++17 \"$file\" -o \"$file_path/$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "$file_path",
"selector": "source.c++",
"variants": [
{
"name": "Run",
"shell_cmd": "g++ -Wall -std=c++17 \"$file\" -o \"$file_path/$file_base_name\" && \"$file_path/$file_base_name\""
}
]
}
-
shell_cmd中的$file和$file_path是 Sublime 变量,不能手敲成绝对路径 -
selector决定该 build 系统在什么语法下自动激活(source.c++对应 C++ 文件) - Windows 用户若用
cmd运行可执行文件,需改用start cmd /c \"... & pause\",否则窗口一闪而过 - Mac/Linux 用户注意默认 shell 是
bash,如用zsh且依赖.zshrc,得加"shell": "zsh"字段
怎么把 F5 绑定到“编译并运行”
打开 Preferences → Key Bindings,在右侧 User.sublime-keymap 中写入:
[{"keys": ["f5"], "command": "build", "args": {"variant": "Run"}}]
- 必须用方括号
[ ]包裹,哪怕只有一条规则 -
"variant": "Run"必须和 build 文件中"name": "Run"完全一致(大小写敏感) - 如果已有默认
F5绑定(比如默认 build),你的规则会被覆盖——加context限定更安全:
{"keys": ["f5"], "command": "build", "args": {"variant": "Run"}, "context": [{"key": "selector", "operator": "equal", "operand": "source.c++"}]}
- 保存后立即生效,不用重启;右下角闪红字?90% 是 JSON 末尾多逗号、引号没闭合、用了中文引号
Python 编译快捷键为什么总报错“找不到 python”
常见错误是 build 文件里写了 "cmd": ["python", "-u", "$file"],但没指定完整路径,或系统 PATH 没生效。
- Windows 下推荐写死路径:
"cmd": ["C:/Users/xxx/AppData/Local/Programs/Python/Python311/python.exe", "-u", "$file"] - Mac/Linux 下可用
which python3查路径,填进cmd数组,不要用shell_cmd+python3(可能不读 shell 配置) - 编码问题:加
"encoding": "utf-8",避免中文注释报错;Windows 用户有时需"encoding": "cp936" - 别忘了在 build 文件里设
"selector": "source.python",否则按Ctrl+B时不会自动选中这个系统
最易被忽略的一点:build system 必须保存在 Sublime 默认路径下(Packages/User/),手动存到桌面或下载目录,Sublime 根本读不到。


















