2010-03-09 51 views

回答

54

這是一個老問題,但我最近寫了RainbowDelimiters模式。這是一個'彩虹parens'類型模式,用Clojure編程爲所有的parens,括號和大括號着色。

它突出顯示了整個緩衝區,而不僅僅是parens周圍的點。

最重要的事情是,FAST - 所有其他彩虹括號模式我試圖減緩編輯(尤其是滾動)不少。我花費大量精力分析和優化它,因此不會對滾動/編輯速度產生任何顯着影響。

您可以在EmacsWiki page找到關於它的信息,而模式本身是rainbow-delimiters.el

+3

+1使它在文件範圍內快速,易於管理設置並在EmacsWiki上提供清晰的指示。 – semperos 2011-03-21 14:41:06

+0

我今天做了一些重要的改變,所以你要去下載最新版本。感謝您的評論。 :) – 2011-03-22 20:24:15

+0

你有更新日誌嗎?什麼是新功能? – semperos 2011-03-22 21:00:01

22

我正在使用highlight-parentheses-mode從腳本mquander提到。它並沒有提供太多的彩虹效果開箱即用,但它是可定製:

(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中,只有實際包含該點的參數纔會高亮顯示(且只有有限的幾個級別)。我碰巧發現這種行爲很有用,但與Vimclojure相比,它在可愛區域可能有點欠缺。

我現在注意到,我從來沒有得到'輪到固定那些外面paren顏色實際上...也許我會現在你已經提醒了我關於它。

+0

華麗。我非常喜歡這個。謝謝。有沒有辦法爲任何lisp文件自動打開它? – 2010-03-10 15:40:40

+1

很高興聽到這個消息。 :-)是的,你可以通過放置類似'(add-hook'clojure-mode-hook(lambda()(highlight-parentheses-mode t)(paredit-mode t))來將它包含在Lisp編輯的默認設置中。 ))''在'〜/ .emacs'中。你可以用'slime-repl-mode-hook','emacs-lisp-mode-hook'等來做同樣的事情,雖然在這種情況下你可能想把lambda分解爲一個命名的函數,使用'(加鉤'clojure-mode-hook#'my-lisp-setup)''。 – 2010-03-10 20:34:05

+5

恩,不知何故,'paredit'在那裏滑了......這是好的,因爲這是Lisp編輯的聖盃。每個Lisper都需要嘗試一下,如果你已經在使用Emacs,那麼它就是絕對必須的。 – 2010-03-10 20:36:19