如何在emacs中获得“彩虹括号”?

时间:2010-03-09 22:23:30

标签: emacs clojure syntax-highlighting

我想在Emacs中编辑Clojure的彩虹parens以及VI does this我认为在Emacs中它应该像M-x butterfly之类的东西:)

3 个答案:

答案 0 :(得分:54)

现在这是一个老问题,但我最近为此编写了 RainbowDelimiters 模式。它是一种'彩虹parens'型模式,用Clojure编程为所有parens,括号和括号着色。

它突出显示整个缓冲区,而不仅仅是围绕点的parens。

最重要的是 它是 FAST - 我试过的所有其他彩虹笔模式减慢了编辑速度(特别是滚动)非常多。我非常努力地进行分析和优化,因此对滚动/编辑速度没有任何明显的影响。

您可以在 EmacsWiki page 找到相关信息,模式本身位于 rainbow-delimiters.el

答案 1 :(得分:22)

我正在使用提到的脚本mquander中的highlight-parentheses-mode。它没有提供太多的彩虹效果,但可以自定义:

(setq hl-paren-colors
      '(;"#8f8f8f" ; this comes from Zenburn
                   ; and I guess I'll try to make the far-outer parens look like this
        "orange1" "yellow1" "greenyellow" "green1"
        "springgreen1" "cyan1" "slateblue1" "magenta1" "purple"))

我相信我已经从Vimclojure中提升了实际颜色。请注意,Vimclojure会在文件中突出显示所有括号,而对于highlight-parentheses-mode,只会突出显示实际包含该点的parens(并且只会显示有限数量的级别)。我碰巧发现这种行为很有用,但与Vimclojure方式相比,它在可爱区域可能有点缺乏。

我现在注意到我实际上从来没有得到过修复那些外部颜色的颜色......也许我现在已经提醒过我了。

答案 2 :(得分:2)

过去简要介绍的

Here's a mode for thatHere's another one我没有尝试过。