在 Emacs 上缩进 clojure
Indent clojure on Emacs
我正在尝试将 emacs 设置为具有 clojure 代码的自动缩进。
到现在还没成功。为此在配置文件中设置的命令是什么?
这是我认为 "minimal" 可用的 Clojure emacs 配置的示例 emacs 配置。我说最少是因为我不愿意在没有良好的代码完成、跳转到定义、项目感知文件处理等的情况下工作:
从 this example 克隆到 ~/.emacs.d:
这只是一个亮点,请参阅示例项目中的 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"]]}}
我加了
(global-set-key (kbd "RET") 'newline-and-indent)
到 init
文件,这有效。我不确定这是否是最好的解决方案,但它确实起到了作用。
我正在尝试将 emacs 设置为具有 clojure 代码的自动缩进。
到现在还没成功。为此在配置文件中设置的命令是什么?
这是我认为 "minimal" 可用的 Clojure emacs 配置的示例 emacs 配置。我说最少是因为我不愿意在没有良好的代码完成、跳转到定义、项目感知文件处理等的情况下工作:
从 this example 克隆到 ~/.emacs.d:
这只是一个亮点,请参阅示例项目中的 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"]]}}
我加了
(global-set-key (kbd "RET") 'newline-and-indent)
到 init
文件,这有效。我不确定这是否是最好的解决方案,但它确实起到了作用。