2010-11-30 36 views
26

當我的代碼無法編譯並告訴我可能缺少一個閉合的大括號時,是否有一種簡單的方法可以在emacs中找到它?如何在emacs中找到缺失或不匹配的大括號/ parens?

+2

你也有興趣,如果有某種M-X FIX-括號中。 – aartist 2010-12-01 17:59:24

+0

不錯的主意。我在這裏發佈的問題:http://stackoverflow.com/questions/4328163/is-there-a-way-to-automate-fixing-mismatched-parens-in-emacs-mx-fix-parens – 2010-12-01 19:19:33

回答

29

對於像C,C++和Java,命令check-parens將檢查括號(()),括號([]),和括號語言({}):

M-x check-parens <RET> 

點將移動到包圍字符這是無與倫比的,狀態行將報告問題。

像其他人所說的那樣,將此與show-paren-mode結合使用是個好主意。

4

Show Paren Mode會在您輸入時突出顯示大括號。事實後我不知道如何找到他們。

11

如果您在.emacs中使用以下代碼,那麼如果您位於括號之前或之後,則會突出顯示它們之間的所有表達式 - 可能會幫助您找到不匹配的括號。

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

我正是因爲這個原因才使用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) 
相關問題