【问题标题】:indent configurations in emacs cider/paredit/clojure-modeemacs cider/paredit/clojure-mode 中的缩进配置
【发布时间】:2016-08-19 10:11:31
【问题描述】:

在 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])

【问题讨论】:

  • 你的配置是向量吗?如果是地图,clojure-align 应该可以完成这项工作。
  • 很好,这对地图很有用。但实际上我也需要它用于向量......

标签: emacs clojure cider paredit


【解决方案1】:

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

【讨论】:

  • 有这个真好!如果 clojure-align 被增强以适用于任何集合,那就更好了。 github.com/clojure-emacs/clojure-mode/blob/…
  • 随时提交票证。我们没有考虑过这样的用例,但我们可能会在未来实现它。
【解决方案2】:

如果您可以接受将配置作为地图而不是矢量,那么当您打开 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})

【讨论】:

    猜你喜欢
    • 2011-06-06
    • 2011-01-18
    • 2015-10-04
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多