sublime text本身无内置终端,ctrl+`打开的是仅执行python代码的控制台,不支持shell命令;需安装terminal插件调用系统终端(推荐),或terminus插件实现嵌入式终端,二者均需正确配置路径与环境变量。

Sublime Text 本身没有内置终端,所谓“终端设置”本质是选对插件、配对路径、避开控制台陷阱——不是学配置,而是做选择。
Ctrl+` 打开的是 Python 控制台,不是终端
按 Ctrl+` 弹出的窗口里输入 ls 或 git status 必然报错 NameError: name 'ls' is not defined。这不是你配错了,是它压根不跑 shell。这个控制台只认 Python 代码,用于调试插件或调用 sublime.api,和系统命令完全无关。
- 它不加载你的
.zshrc、.bash_profile或虚拟环境 - 不能执行
python main.py(除非当前是 Python 文件且已配置 build system) - 无法粘贴多行命令、无法复用历史、无法交互式运行
node或ipython
Terminal 插件:一键唤起真实系统终端(推荐多数人)
它不模拟终端,而是直接调用 cmd.exe(Windows)、Terminal.app(macOS)或 gnome-terminal(Linux),工作目录自动设为当前文件所在路径,稳定、路径准、无权限问题。
- 安装:按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜Terminal(作者 wbond)→ 回车 - 使用:默认快捷键
Ctrl+Shift+T(Win/Linux)或Cmd+Shift+T(macOS) - 未保存文件时 fallback 到项目根目录;无项目时 fallback 到用户主目录,不会乱跳
- 想换 PowerShell:编辑
Preferences → Package Settings → Terminal → Settings – User,填入:{ "terminal": "powershell", "parameters": ["-NoExit", "-Command", "Set-Location '%CWD%'"] }
Terminus 插件:在底部嵌入可交互终端(适合重度终端用户)
它能在 Sublime 底部 panel 中跑真实 shell,支持分屏、复用会话、命令历史,但不是“装完就用”,几处硬性条件必须满足,否则卡死或输不了字。
- macOS 需手动授权:系统设置 →
Privacy & Security → Accessibility→ 勾选你用的终端应用(如Terminal.app或iTerm2) - Windows 上若要用 WSL2,确保
wsl.exe在系统PATH中,并在 Terminus 设置里显式写"shell": "wsl" -
input()在 Python 脚本中会挂起,改用sys.stdin.readline().strip() - 关闭 panel 不等于退出进程,得手动敲
exit,否则后台还在跑 - 复制粘贴默认禁用,需加
"mouse_selection_enabled": true才能鼠标拖选
别碰 Build System 当终端用
Build System(Ctrl+B)只适合单次执行命令,比如 python $file 或 npm run build,它不提供交互式 shell 环境,不能输第二条命令,也不能保持状态。
- 它不继承完整 shell 环境变量(尤其 macOS 的 GUI 启动方式下)
- 路径变量常不准,
$file_path在未保存文件时为空,容易报错 - 无法运行需要交互的命令(如
ssh、vim、python -i) - 错误输出堆在小窗口里,不方便滚动查看长日志
真正难的不是怎么配,而是分清你要的是“执行一条命令”还是“进一个终端”。前者用 Terminal 插件就够了;后者才值得折腾 Terminus——但得亲自过一遍 Accessibility 授权、WSL 路径、stdin 处理这些坎,漏一环就卡住。











