Emacs以批处理模式htmlize?

Joh*_*den 7 emacs clojure

我喜欢在emacs中使用htmlize-file将clojure源文件转换为html.

我想从linux命令行中使用它,或者从clojure本身以编程方式使用它.

我试过了

$ emacs --eval "(htmlize-file \"/home/john/file.clj\" ) (kill-emacs)"
Run Code Online (Sandbox Code Playgroud)

$ emacs -batch --eval "(htmlize-file \"/home/john/file.clj\" )"
Run Code Online (Sandbox Code Playgroud)

两者都有效,但需要注意.

第一个打开一个X窗口,看起来有点不雅,但它确实做了我在缓冲区中看到的完全相同的突出显示,这就是我想要的.

第二个工作在批处理模式,但唯一突出显示它的语法是斜体字符串.我假设它没有加载clojure模式或我最喜欢的配色方案.

任何人都可以找到一种方法来获得第二个版本与第一个版本相同的结果吗?在评估(htmli ....)位之前,它们似乎都加载了我的.emacs文件.

另外,有没有办法将命令发送到已经运行的emacs?从而节省启动时间?

jfs*_*jfs 5

emacsclient -e "(htmlize-file \"/home/john/file.clj\" )" -a ""


小智 5

将第一个与 -nw 一起使用是否有效?这应该可以防止 X 窗口被打开,但仍然应该有足够的 emacs 的“GUI”部分能够初始化面系统。它仍然不如 -batch 优雅(如果从非终端进程运行它会失败,例如 crontab),但它会不那么刺激。