2012-02-26 4 views
7

कोड दर्ज करते समय Emacs मिलानशील ब्रेस या ब्रैकेट को धीरे-धीरे हाइलाइट करता है। मौजूदा कोड के साथ, अगर मैं अपने जुड़वां को हाइलाइट करता हूं तो मिलान करने वाले ब्रेस या ब्रैकेट को हाइलाइट करने के लिए कहने का कोई तरीका है?Emacs ब्रेस और ब्रैकेट हाइलाइटिंग?

मैं अक्सर जब संकलक त्रुटियों और चेतावनियों के साथ काम कर एक मानसिक स्वास्थ्य की जांच करने के लिए कोशिश कर रहा हूँ। मैं कोड को सम्मिलित करने से पहले कोडिंग करते समय आमतौर पर दोनों ब्रेसिज़ दर्ज करता हूं, लेकिन डिबगिंग के दौरान कोड को टिप्पणी करते समय अनजाने में एक ब्रेस पर अनजाने में टिप्पणी की जाती है।

Emacs के साथ ब्रेस और ब्रैकेट मिलान से निपटने के साथ कोई सलाह?

ओएस ज्यादातर लिनक्स/यूनिक्स है, लेकिन मैं ओएस एक्स और Windows पर भी इसका इस्तेमाल करते हैं। जवाब manual या wiki से सीधे से

+2

संभावित डुप्लिकेट [Emacs में ब्रैकेट से मिलान करने का आदेश क्या है?] (Http://stackoverflow.com/questions/261522/what-is-the-command-to-match-brackets-in-emacs) –

उत्तर

10

आप एक भाषा है कि यह समर्थन करता है के साथ काम कर रहे हैं, ParEdit एक गंभीर रूप देने के। यदि आप लिस्प बोली के साथ उपयोग नहीं कर रहे हैं, तो यह लगभग उतना उपयोगी नहीं है।

सामान्य ब्रेस/ब्रैकेट/पेरेंट हाइलाइटिंग के लिए, highlight-parentheses मोड में देखें (जब point उनके अंदर रंगीन कोड ब्रेसिज़ के कई स्तर हैं)। आप अनुकूलन के माध्यम से show-paren-mode भी चालू कर सकते हैं (जो M-x customize-variable show-paren-mode है); वह दृढ़ता से ब्रेस/ब्रैकेट/पैरों को एक बिंदु पर मिलान करता है (यदि बिंदु पर कोई भी कुछ भी मेल नहीं खाता है, तो आपको एक अलग रंग मिलता है)।

मेरी .emacs वर्तमान में (अन्य बातों के अलावा) शामिल हैं

(require 'highlight-parentheses) 

(define-globalized-minor-mode global-highlight-parentheses-mode highlight-parentheses-mode 
    (lambda nil (highlight-parentheses-mode t))) 

(global-highlight-parentheses-mode t) 

के साथ ही है कि show-paren-mode अनुकूलन है, जो मुझे अच्छी तरह से कार्य करता है (बेशक, मैं भी paredit जब lisping उपयोग करें, लेकिन ये अभी भी मामूली रूप से उपयोगी होते हैं)।

1

Btw, तत्काल प्रश्न के लिए: M-x झपकी मिलान से खोलने के लिए एक मौजूदा करीब कोष्ठक के लिए "फिर से झपकी", के रूप में यदि आप इसे डाला था होगा। मिलान करने वाले माता-पिता को देखने का एक और तरीका एम-सी-बी और एम-सी-एफ (जो माता-पिता के मिलान किए गए जोड़े पर कूदता है) का उपयोग करना है, जो कि बहुत ही उपयोगी नेविगेशन कमांड हैं।

0

मैं दूसरा पैराएडिट। यह कमजोर विकास के लिए कम से कम बहुत अच्छा है।

FWIW मैं अक्सर इस सुविधा का उपयोग मिलान कोष्ठक (आगे और पीछे) में जाने के लिए।

;; goto-matching-paren 
;; ------------------- 
;; If point is sitting on a parenthetic character, jump to its match. 
;; This matches the standard parenthesis highlighting for determining which 
;; one it is sitting on. 
;; 
(defun goto-matching-paren() 
    "If point is sitting on a parenthetic character, jump to its match." 
    (interactive) 
    (cond ((looking-at "\\s\(") (forward-list 1)) 
     ((progn 
      (backward-char 1) 
      (looking-at "\\s\)")) (forward-char 1) (backward-list 1)))) 
(define-key global-map [(control ?c) ?p] 'goto-matching-paren) ; Bind to C-c p 

अस्वीकरण: मैं इस फ़ंक्शन का लेखक नहीं हूं, जो इंटरनेट से कॉपी किया गया है।