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
的时候, 都非常纠结.