当我的代码无法编译并告诉我我可能错过了一个封闭的大括号时,有没有一种简单的方法可以在emacs中找到它?
答案 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)