如何在Emacs中智能地重新缩进Clojure?

时间:2012-07-10 23:41:12

标签: emacs clojure

我是Clojure的新手,也是Emacs的新手。

是否有Emacs快捷方式可以智能地重新缩进整个文件? 如果没有,是否至少有一种方法可以左右缩进选定的区域?

我觉得自己回到石器时代反复按箭头

5 个答案:

答案 0 :(得分:34)

C - x h 选择整个缓冲区。 C - M - \ 重新选择所选区域。

答案 1 :(得分:11)

Ctrl - x h (全选),然后是 Tab (缩进)

答案 2 :(得分:4)

cider-format-buffer命令(自苹果酒0.9.0以来)

答案 3 :(得分:1)

C-u C-c C-e之类的序列中捕获数据时 (cider-eval-last-sexp),输出到缓冲区的原始数据可以是 笨拙的检查/工作。和正常的代码缩进命令 (在这里的答案中提到)不能很好地处理它。

要处理此类评估表达式的结果,请尝试 cider-format-edn-region

作为一个具体的例子,你有没有试过重新格式化你的 ~/.lein/profiles.clj?这很难做到并且保持不变 一致,直到你发现cider-format-edn-region。采取 但请注意,它会删除任何评论。

答案 4 :(得分:0)

使用cljfmt进行多种可重新格式化/重新插入的可配置方式。它具有Emacs插件,但也可以通过if (c1.getSelectedItem().toString() == "")运行。