在Emacs

时间:2015-10-20 09:18:13

标签: emacs clojure cider

我正在尝试将emacs设置为对clojure代码进行自动缩进。

直到现在还不成功。设置为配置文件的命令是什么?

2 个答案:

答案 0 :(得分:3)

这是一个示例emacs配置,用于我认为Clojure的“最小”可用emacs配置。我说最小的是,如果没有良好的代码完成,跳转到定义,项目感知文件处理等,我不愿意工作:

来自this example你可以克隆到〜/ .emacs.d:

这只是一个hilight,请参阅上下文示例项目中的init文件,查看最近版本的项目,等等。不要只复制这些

(use-package clojure-mode
  :ensure t
  :config
  (add-hook 'clojure-mode-hook 'yas-minor-mode))

(use-package cider
 :ensure t
 :config (progn (add-hook 'clojure-mode-hook 'cider-mode)
                 (add-hook 'clojure-mode-hook 'cider-turn-on-eldoc-mode)
                 (add-hook 'cider-repl-mode-hook 'subword-mode)
                (setq cider-annotate-completion-candidates t
                       cider-prompt-for-symbol nil)))

;; clojure refactor library
;; https://github.com/clojure-emacs/clj-refactor.el
(use-package clj-refactor
  :ensure t
  :config (progn (setq cljr-suppress-middleware-warnings t)
                 (add-hook 'clojure-mode-hook (lambda ()
                        (clj-refactor-mode 1)
                        (cljr-add-keybindings-with-prefix "C-c C-m")))))

还有一些代码要添加到〜/ .lein / profiles.clj:

{:user {:plugins [[cider/cider-nrepl "0.10.0-SNAPSHOT"]
                 [refactor-nrepl "1.1.0"]]
        :dependencies [[acyclic/squiggly-clojure "0.1.3-SNAPSHOT"]]}}

答案 1 :(得分:0)

我添加了

(global-set-key (kbd "RET") 'newline-and-indent)

init文件,这有效。我不确定这是否是最好的解决方案,但它确实可以解决问题。