2010-11-30 5 views
26

Wenn mein Code nicht kompiliert wird und mir sagt, dass ich wahrscheinlich eine geschlossene Klammer vermisse, gibt es einen einfachen Weg, es in Emacs zu finden?Wie kann ich fehlende oder nicht passende Klammern/Klammern in Emacs finden?

+2

One auch interessiert sein würde, wenn es irgendeine Art von M-x fix-Pars ist. – aartist

+0

gute Idee. Ich habe die Frage hier gestellt: http://stackoverflow.com/questions/4328163/is-there-a-way-to-automate-fixing-mismatched-parens-in-emacs-mx-fix-parens –

Antwort

29

Für Sprachen wie C, C++ und Java, den Befehl check-parens wird Pars (()), Klammern ([]) überprüfen, und Klammern ({}):

M-x check-parens <RET> 

Der Punkt wird auf eine Belichtungsreihe Charakter bewegen das ist nicht übereinstimmend, und die Statuszeile wird das Problem melden.

Es ist eine gute Idee, dies in Verbindung mit show-paren-mode zu verwenden, wie andere gesagt haben.

4

Show Paren Mode werden schlechte Klammern markieren, wie Sie sie eingeben. Ich weiß nicht, wie ich sie nach der Tat finden soll.

11

Wenn Sie in Ihren .emacs folgenden Code verwenden, dann werden alle Ausdrücke zwischen ihnen hervorgehoben, wenn Sie vor oder hinter einer Klammer stehen. Dies hilft Ihnen möglicherweise, nicht übereinstimmende Klammern zu finden.

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

wirklich nettes Feature - Vielen Dank an Sie und @robert für das Aufzeigen! –

+1

Dito. nettes Feature, danke für das Posten. –

0

Ich verwende den Paketmodus rainbow-delimiters genau aus diesem Grund.

Meine Einstellungen:

(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) 
Verwandte Themen