如何在emacs中找到丢失或不匹配的大括号/ parens?

时间:2010-11-30 23:16:00

标签: emacs

当我的代码无法编译并告诉我我可能错过了一个封闭的大括号时,有没有一种简单的方法可以在emacs中找到它?

4 个答案:

答案 0 :(得分:33)

对于C,C ++和Java等语言,命令check-parens将检查parens(()),括号([])和大括号({}):

M-x check-parens <RET>

该点将移至无法匹配的包围角色,状态行将报告问题。

正如其他人所说的那样,将它与show-paren-mode结合使用是个好主意。

答案 1 :(得分:15)

如果您在.emacs中使用以下代码,那么如果您在括号之前或之后,它将突出显示它们之间的所有表达式 - 可能会帮助您找到不匹配的括号。

(show-paren-mode t)
(setq show-paren-style 'expression)

答案 2 :(得分:4)

Show Paren Mode会在您输入时突出显示不良大括号。我不知道如何在事后找到它们。

答案 3 :(得分:1)

出于这个原因我完全使用rainbow-delimiters包模式。

我的设置:

(require 'rainbow-delimiters)
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
(set-face-attribute 'rainbow-delimiters-unmatched-face nil
            :foreground "red"
            :inherit 'error
            :box t)