Terminus 是调用系统 shell 的第三方插件,并非 Sublime Text 内置终端;安装需确认系统 shell 可用,通过 Package Control 正确安装 wbond 版本,启动时可指定 shell 和绝对路径工作目录,中文乱码需调整编码配置,Ctrl+C 失效需修改快捷键绑定。

Terminus 插件根本不需要“内置终端”这个说法
Sublime Text 本身没有内置终端,Terminus 是第三方插件,它通过调用系统 shell(如 cmd.exe、bash、zsh)在 Sublime 窗口里模拟一个终端界面。所谓“内置”,只是视觉上嵌入了编辑器,底层完全依赖你的操作系统和 shell 配置。
安装前先确认:你机器上已装好可用的 shell,并且能在命令行里正常运行(比如 Windows 能打开 cmd 或 pwsh,macOS/Linux 能运行 zsh)。否则 Terminus 启动会直接报错 Unable to find shell 或卡在 loading 状态。
- Windows 用户默认用
cmd.exe,但推荐改用powershell.exe或wt.exe(Windows Terminal)以获得更好兼容性 - macOS 用户注意:
zsh是默认 shell,但某些老项目或环境变量可能仍依赖bash,得看实际需求选 - Linux 用户多数没问题,但若用的是精简发行版(如 Alpine),可能缺
bash或sh符号链接,需手动补全
用 Package Control 安装 Terminus,别下错仓库
Terminus 在 Package Control 里叫 Terminus,不是 Terminal、SublimeTerminal 或带 “fork” 字样的变体。装错版本会导致快捷键失效、无法输入、或 ctrl+shift+p 里搜不到 Terminus: Open Default Shell in Panel。
正确流程只有三步:
- 按
ctrl+shift+p(Win/Linux)或cmd+shift+p(macOS),输入Package Control: Install Package回车 - 等待列表加载完成,输入
Terminus,选中后回车(注意作者是wbond的那个) - 装完不用重启 Sublime,但首次使用建议关掉所有窗口再重开,避免 panel 缓存冲突
如果安装后命令不出现,大概率是插件没激活成功 —— 检查 Sublime 控制台(ctrl+`)有没有报 ImportError 或 no module named terminus,有则说明 Package Control 下载中断,删掉 Packages/Terminus/ 目录重试。
启动终端时指定 shell 和工作目录最常用也最容易错
默认快捷键 ctrl+shift+alt+enter(Win)或 cmd+shift+alt+enter(macOS)打开的是“默认 shell”,但它不一定是你当前项目所在目录,也不一定是你想用的 shell。
更稳的方式是用命令面板手动调用并传参:
- 按
ctrl+shift+p→ 输入Terminus: Open Default Shell in Panel,回车后弹出参数框,可填{"cwd": "/your/project/path"} - 想换 shell?用
Terminus: Open Build-in Shell in Panel,然后在参数里写{"shell_cmd": ["zsh", "-i", "-l"]}(macOS)或{"shell_cmd": ["pwsh", "-NoExit"]}(Windows) -
-i表示交互模式,-l是登录 shell(加载~/.zshrc),漏掉它们会导致 alias、path、nvm 等不生效
常见坑:cwd 必须是绝对路径;Windows 路径里的反斜杠要写成双反斜杠 "C:\my\project" 或用正斜杠 "C:/my/project";路径末尾不能加斜杠,否则部分 shell 会启动失败。
中文乱码、粘贴异常、Ctrl+C 不生效?全是编码和信号配置问题
Terminus 默认用 UTF-8,但 Windows 的 cmd.exe 默认是 GBK,导致中文显示为 ???,复制进来的命令也常丢字符。这不是插件 bug,是 shell 层级的编码不匹配。
解决方法分两层:
- 对
cmd.exe:在 Terminus 设置里加"shell_cmd": ["cmd.exe", "/c", "chcp 65001 >nul && cmd.exe"],强制切到 UTF-8 - 对
powershell.exe:加"shell_cmd": ["pwsh.exe", "-NoExit", "-Command", "[Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();"] - Ctrl+C 不中断进程?是因为 Terminus 默认把
ctrl+c当作 Sublime 的复制快捷键。必须去Preferences → Key Bindings里删掉或注释掉这行:{"keys": ["ctrl+c"], "command": "terminus_copy", "context": [{"key": "terminus_view"}]}
还有个隐形坑:某些 shell(比如 zsh + oh-my-zsh)会在启动时执行耗时插件,导致 Terminus 打开慢、甚至假死。这时不要急着卸载插件,先在 shell_cmd 里加 --no-rcs 或临时禁用主题试试。
真正麻烦的从来不是装不上,而是 shell 初始化逻辑、编码协商、信号透传这三层叠加后的表现不一致。同一套配置,在同事电脑上好好的,到你这就乱码或卡住 —— 八成是其中某一层没对齐。

















