
sublime 本身没有内置终端,所有“开终端”都是调用外部程序或靠插件模拟
sublime text 是纯文本编辑器,不带 shell 运行时,所谓“底部命令行”只有两种实现路径:一是用插件(如 Terminus)在面板里嵌入一个伪终端;二是用轻量插件(如 Terminal)一键唤起系统终端(cmd、PowerShell、Terminal.app 或 gnome-terminal)。前者看着集成,实则限制多;后者看似“跳出编辑器”,但稳定、路径准、无权限卡死问题——2026 年多数开发者已回归这种做法。
推荐首选 Terminal 插件:按快捷键就打开当前目录的系统终端
它不尝试在 Sublime 里画个终端框,而是直接执行系统命令启动真实终端,并自动把工作目录设为 $file_path(当前文件所在目录)。没保存的文件?自动 fallback 到项目根目录或用户主目录,不会报错或乱跳路径。
- 安装:按
Ctrl+Shift+P(Win/linux)或Cmd+Shift+P(macos)→ 输入Package Control: Install Package→ 搜Terminal(作者 wbond)→ 回车安装 - 使用:默认快捷键
Ctrl+Shift+T(Win/Linux)或Cmd+Shift+T(macOS) - 自定义终端:比如想用
PowerShell替代cmd,编辑Preferences → Package Settings → Terminal → Settings – User,写入:{ "terminal": "powershell", "parameters": ["-NoExit", "-Command", "Set-Location '%CWD%'"] } - 注意:windows 上若启用了 WSL2,这个插件不支持直接调用
wsl——它只调系统默认终端,不是 shell 解释器
非要嵌入式终端?Terminus 是唯一较稳的选择,但得手动过几道坎
Terminus 能在 Sublime 底部 panel 中跑真实 shell,适合需要频繁切换、分屏看日志的场景。但它不是“即装即用”,几个硬性条件必须满足,否则一启动就卡住或输不了字:
- macOS:必须去
System Preferences → Security & Privacy → Privacy → Accessibility手动勾选终端应用(如Terminal.app或iTerm2),否则无法捕获键盘输入 - Windows:若要用 WSL2,确保
wsl.exe在系统PATH中,并在Terminus设置里显式指定"shell": "wsl" - Python 脚本中慎用
input():它会挂起,因为Terminus不完全模拟 TTY;改用sys.stdin.readline().strip() - 复制粘贴默认禁用:需在设置中加
"mouse_selection_enabled": true才能鼠标拖选 - 关 panel ≠ 关进程:退出要手动敲
exit,否则后台还在跑
别信右键菜单“Open in Terminal”——它依赖系统配置,经常失效
某些 Sublime 版本或系统环境下,右键确实有 Open in Terminal 选项,但它底层调用的是系统默认终端注册表项(Windows)或 open -a 命令(macOS)。一旦你换过终端(比如从 Terminal.app 换成 iTerm2)、或 Windows 启用了 PowerShell 执行策略限制,这个菜单就直接灰掉或打开空窗口。它不像 Terminal 插件那样可配置、可 fallback,也不像 Terminus 那样可控——属于“能用就用,不能用也找不到原因”的类型。
真正容易被忽略的点是:路径行为。无论是 Terminal 还是 Terminus,遇到未保存的临时标签页(untitled),都会退到项目根或用户目录——但很多人以为它该停在“上次保存位置”,结果 git status 报错才反应过来目录不对。这点必须心里有数。