在它们内部显示括号 - Emacs



在 emacs 中,有一个模式show-paren-mode当光标在另一个方向上时,它会为相反的匹配括号着色。我写了一个例子来解释show-paren-mode

( <-colored  colored-> )| <-cursor 

但是,当光标不在括号上时,它不起作用:

( <-not colored    cursor inside->|    not colored-> )

如何启用此功能?我发现在 paredit 中执行口水 和 barfage 时,我无法很好地跟踪括号,因为除非我在上面,否则它们没有颜色。

这是最佳的:

( <-colored    cursor inside->|    colored-> )

编辑:感谢@lawlist的评论,我已经解决了这个问题。

这对我来说效果很好(新的建议实现可能需要更新的 Emacs 版本(超过 25 个?):

(define-advice show-paren-function (:around (fn) fix)
  "Highlight enclosing parens."
  (cond ((looking-at-p "\s(") (funcall fn))
        (t (save-excursion
             (ignore-errors (backward-up-list))
             (funcall fn)))))

感谢 lawlist 的评论,我将他对另一个问题的回答中的代码添加到我的 init 文件中。

它以彩虹图案为每组匹配的括号着色。

最新更新