不能。Sublime Text 仅为编辑器,需调用本地 clojure CLI 等外部工具运行代码;clojure-sublime 插件已过时且不兼容现代 Clojure,推荐用 SublimeREPL 或终端 nREPL 配合 LSP 插件。

Sublime Text 能不能直接运行 Clojure?
不能。Sublime Text 本身只是编辑器,没有内置 Clojure 运行时或 REPL 支持;所谓“运行 Clojure”,实际是调用外部工具(比如 clojure CLI 或 lein)执行代码,再把输出捕获回编辑器里显示。所以核心不是“配置 Sublime”,而是让 Sublime 能正确调用你本地已装好的 Clojure 工具链。
clojure-sublime 插件现在还值得装吗?
不推荐。该插件长期未维护(最后一次更新是 2018 年),依赖过时的 lein + swank-clojure,与现代 Clojure(1.10+)、clojure CLI、nREPL 协议完全不兼容。装了反而容易触发 ClassNotFoundException 或连接 localhost:4005 失败这类错误。
- 替代方案:用
SublimeREPL(支持 nREPL)或纯终端 +clojure -M - 如果坚持在 Sublime 内交互,
SublimeREPL配置要点:"cmd": ["clojure", "-M", "-m", "nrepl.cmdline", "--port", "3333"] - 注意路径:确保
clojure命令在系统$PATH中,macOS/Linux 检查which clojure,Windows 检查where clojure
为什么写完 .clj 文件按 Ctrl+B 没反应?
因为 Sublime 默认不识别 .clj 后缀为可构建语言,也不会自动绑定构建系统。你需要手动创建一个构建系统,且必须匹配你本地 Clojure 的启动方式。
- 新建菜单 →
Tools→Build System→New Build System… - 填入以下内容(适配
clojureCLI):{ "shell_cmd": "clojure -M "$file"", "file_regex": "^\s*([a-zA-Z0-9._-]+):([0-9]+):([0-9]+):", "selector": "source.clojure" } - 保存为
Clojure.sublime-build,然后在右下角语法模式选Clojure,再按Ctrl+B(macOS 是Cmd+B) - 常见失败原因:
clojure命令未安装、$file路径含空格未加引号、文件里没定义-main函数或没加:main别名
想热重载/交互调试,但不想折腾插件?
最稳的方式是放弃在 Sublime 里搞完整 REPL 环境,改用终端跑 nREPL,Sublime 只负责写代码。这样既避免插件兼容问题,又能用上最新工具链。
- 终端中进项目根目录,运行:
clojure -M:nrepl(要求 deps.edn 里有{:aliases {:nrepl {:extra-deps {nrepl/nrepl {:mvn/version "1.0.0"}} :main-opts ["-m", "nrepl.cmdline"]}}}) - 它会打印类似
Started nREPL server on localhost:3333,记下端口 - Sublime 中用
Ctrl+Shift+P→SublimeREPL: Clojure→ 输入localhost:3333连接(前提是已装SublimeREPL) - 或者更轻量:直接用
clj-kondo+clojure-lsp配合 Sublime 的 LSP 插件做静态检查和跳转,交互仍走终端
真正卡住人的往往不是 Sublime 设置,而是本地 clojure CLI 的版本、deps.edn 的别名写法、以及 nREPL 端口是否被占用——这些比编辑器配置优先级高得多。










