Emacs Clojure 开发的的一些配置
Table of Contents
避免在 project.clj 中加入cider的依赖.
主要是处理 CLJS 开发的依赖, CIDER 自身的依赖在新版中已经添加到命令中了.
编辑 .lein/profiles.clj, 在其中加入 :emacs 一项:
{ ... ;; 其他的配置
:emacs
{:dependencies [
;; [org.clojure/tools.nrepl "0.2.12"] 最新的cider中不在需要提供了
;; piggieback提供nrepl一致的CLJS REPL
[com.cemerick/piggieback "0.2.1"]]
:plugins [
;; [cider/cider-nrepl "0.11.0-SNAPSHOT"] 最新的cider中不在需要提供了
;; clj-refactor依赖refactor-nrepl
[refactor-nrepl "2.0.0-SNAPSHOT"]]
:repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}}
然后修改Emacs的配置文件:
(setq cider-lein-parameters "with-profile +emacs repl :headless")
启动REPL的时候, 在Emacs中打开.clj文件, 然后用 cider-jack-in.
这样既可以省去在每一个项目中配置Cider的依赖, 又可以不影响在Emacs以外启动的REPL, 毕竟cider-nrepl对启动速度的影响太大了:(
foo-bar或:baz算一个符号
(add-hook 'clojure-mode-hook
(lambda ()
(dolist (c (string-to-list ":_-?!#*"))
(modify-syntax-entry c "w" clojure-mode-syntax-table))))
按照默认的规则, 每次 M-Backspace 或者 M-m 的时候, 都非常纠结.