能,但需手动配置leiningen路径并激活clojure语法作用域;sublimerepl默认不识别lein命令,必须在settings–user中指定cmd、working_dir及path,并绑定.clj文件到clojure语法,否则仅显示空repl提示符且代码无法发送执行。

SublimeREPL 能不能直接跑 Clojure?能,但得手动配路径
SublimeREPL 本身不自动识别系统里的 lein 或 clojure 命令,它默认只找 python、ruby 这类通用名。Clojure 启动必须显式指定 Leiningen 路径,否则点开就是报错 Unable to find command: lein 或直接卡死。
- 打开 Sublime Text →
Preferences → Package Settings → SublimeREPL → Settings – User - 粘贴以下内容(路径按你本地实际改):
{
"default_extend_env": {"PATH": "/usr/local/bin:/opt/homebrew/bin:${PATH}"},
"repl_configs": {
"Clojure": {
"cmd": ["lein", "repl"],
"working_dir": "$file_path",
"encoding": "utf-8",
"external_id": "clojure",
"synchro": true
}
}
}
- Linux/macOS 用户注意:
cmd里写["lein", "repl"]即可,前提是lein在 PATH 里且有执行权限;Windows 用户需写绝对路径,如["C:\Users\Me\bin\lein.bat", "repl"] - 不要漏掉
"working_dir": "$file_path",否则(require 'my.ns)会找不到源文件
Clojure 文件后缀不亮色?语法绑定没生效
.clj 文件打开后右下角显示 Plain text,括号不匹配、Ctrl+Enter 没反应——这不是插件没装,是 Sublime 根本没把当前文件当成 Clojure 代码来处理。
- 手动设置:打开任意
.clj文件 →View → Syntax → Open all with current extension as… → Clojure - 永久绑定(推荐):打开
Preferences → Settings – Syntax Specific,填入:{ "syntax": "Packages/Clojure/Clojure.sublime-syntax" } - 如果
Packages/Clojure/不存在,说明ClojureSyntax插件没装全:用Package Control → Install Package → ClojureSyntax补上 - 验证是否成功:右下角应显示
Clojure,且输入(defn后按Tab能自动补全括号
发送代码到 REPL 总失败?快捷键和命令选错了
很多人按了 Ctrl+Shift+P → SublimeREPL: Clojure,结果只看到一个空的 user=> 提示符,以为“运行成功”,其实只是开了个空 REPL,根本没发任何代码。
- 正确做法分两步:
- 先确保文件已保存为
.clj,且右下角显示Clojure - 再用
Ctrl+Shift+P → SublimeREPL: Clojure - Send file(不是Clojure单独一项)
- 先确保文件已保存为
- 更快的方式是绑定快捷键:在
Preferences → Key Bindings里加:{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "file"} } - 注意:
repl_transfer_current是 SublimeREPL 的内部命令 ID,不是字符串名;如果写成"command": "sublimerepl"就会静默失效
Parinfer 括号自动对齐失灵?它和 SublimeREPL 不是自动联动的
装了 Parinfer 插件,但敲 ) 时括号不自动跳到正确位置,或者 Ctrl+Enter 发送后格式全乱——Parinfer 默认只监听编辑行为,不接管 REPL 输出区域。
- 必须手动开启 Parinfer 的 REPL 支持:打开
Preferences → Package Settings → Parinfer → Settings – User,加入:{ "repl_mode": true, "auto_indent_on_paste": true, "paren_style": "lisp" } - 关键点:
"repl_mode": true才能让 Parinfer 识别 REPL 输出面板并保持括号结构 - 另外,SublimeREPL 的 REPL 面板默认是只读的,Parinfer 不会修改只读内容;所以发送代码后,若想继续编辑输出结果,得先手动右键 →
Toggle Read Only
Clojure 在 Sublime 里不是“装完插件就开跑”的环境,最常卡住的地方其实是路径配置和语法作用域激活——这两步漏掉任意一个,后面所有功能都会静默降级成纯文本编辑器。











