2012-02-26 23 views
7

Khi nhập mã, Emacs sẽ làm nổi bật dấu ngoặc ôm hoặc khung khớp. Với mã hiện có tuy nhiên là có một cách để yêu cầu nó để làm nổi bật một cú đúp phù hợp hoặc khung nếu tôi làm nổi bật đôi của nó?Emacs Brace và Bracket Highlighting?

Tôi thường cố gắng kiểm tra độ chính xác khi xử lý lỗi và cảnh báo trình biên dịch. Tôi nhập cả hai niềng răng thường khi mã hóa trước khi chèn mã ở giữa, nhưng đôi khi vô ý nhận xét ra một cú đúp khi bình luận ra mã trong khi gỡ lỗi.

Bất kỳ lời khuyên nào về xử lý cú đúp và khớp với khung với Emacs?

Hệ điều hành chủ yếu là Linux/Unix, nhưng tôi cũng sử dụng nó trên OS X và Windows.

+2

bản sao có thể có của [Lệnh khớp với dấu ngoặc trong Emac là gì?] (Http://stackoverflow.com/questions/261522/what-is-the-command-to-match-brackets-in-emacs) –

Trả lời

10

Nếu bạn đang xử lý ngôn ngữ hỗ trợ ngôn ngữ đó, hãy cung cấp giao diện ParEdit nghiêm trọng. Nếu bạn không sử dụng với một phương ngữ Lisp, nó không phải là gần như hữu ích mặc dù.

Để làm nổi bật dấu ngoặc nhọn/ngoặc đơn/paren, hãy xem chế độ highlight-parentheses (màu mã hóa nhiều cấp độ niềng răng bất cứ khi nào point nằm trong chúng). Bạn cũng có thể bật show-paren-mode thông qua các tùy chỉnh (nghĩa là M-x customize-variable show-paren-mode); mà một trong những mạnh mẽ làm nổi bật cú đúp/bracket/paren phù hợp với một tại điểm (nếu một tại điểm không phù hợp với bất cứ điều gì, bạn sẽ có được một màu sắc khác nhau).

tôi .emacs hiện chứa (trong số những thứ khác)

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

cũng như show-paren-mode tùy biến, phục vụ tốt cho tôi (tất nhiên, tôi cũng sử dụng paredit khi lisping, nhưng đây vẫn là nhẹ hữu ích).

1

BTW, đối với câu hỏi trước: M-x nhấp nháy phù hợp sẽ "nhấp nháy" cho một dấu đóng gần hiện tại, như thể bạn vừa mới chèn nó. Một cách khác để xem paren phù hợp là sử dụng M-C-b và M-C-f (nhảy qua các cặp parens trùng khớp), đó cũng là các lệnh điều hướng rất hữu ích.

0

Tôi là ParEdit thứ hai. nó là rất tốt atleast cho phát triển lisp.

FWIW Tôi thường xuyên sử dụng chức năng này để chuyển sang dấu ngoặc kép phù hợp (qua lại).

;; 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 

Declaimer: Tôi KHÔNG phải là tác giả của chức năng này, được sao chép từ internet.

Các vấn đề liên quan