emacs cider / paredit / clojure-mode中的缩进配置

时间:2016-08-19 10:11:32

标签: emacs clojure cider paredit

在Emacs / Cider设置(构建在clojure-mode和paredit-mode之上)中,通常会忽略制表位。或者,说他们只是缩进s表达式的第二个符号。

有时,例如对于较大的配置,也希望缩进后续符号:

这是默认值:

(def config [:hello 34 :goodbye
             :a 34 :c
             :long-word 0 :a])

该怎么做,如果它应该是这样的:

(def config [:hello      34   :goodbye
             :a          34   :c
             :long-word  0    :a])

2 个答案:

答案 0 :(得分:0)

Emacs不会根据需要对齐矢量中的元素,但是,您可以使用M-itab-to-tab-stop)来插入制表符(或多个空格取决于您的配置)。因此,您可以按照自己喜欢的方式手动对齐元素。

答案 1 :(得分:0)

如果您可以将配置作为地图而不是矢量,那么当您启用clojure-align-forms-automatically时,clojure-mode会做正确的事情:

(def config {:hello 34
             :goodbye [something else]
             :a [34 :c]
             :long-word 0
             :a 'b})

=>

(def config {:hello     34
             :goodbye   [something else]
             :a         [34 :c]
             :long-word 0
             :a         'b})