2012-11-27 33 views
5

Khi tôi nhập một dấu đóng trong các emacs, minibuffer cho thấy dòng có chứa khung mở phù hợp. Có cách nào để hiển thị đường phù hợp của khung, ngoặc đơn, v.v. trong minibuffer mà không xóa khung và đánh dấu lại không?Dòng hiển thị của khung phù hợp trong minibuffer

Trả lời

9

Tôi giả sử bạn đã bật show-paren-mode để phù hợp với dấu ngoặc được làm nổi bật:

(show-paren-mode t) 

Sau đó, điều này sẽ hiển thị các dòng phù hợp nếu paren tắt màn hình:

(defadvice show-paren-function (after my-echo-paren-matching-line activate) 
    "If a matching paren is off-screen, echo the matching line." 
    (when (char-equal (char-syntax (char-before (point))) ?\)) 
    (let ((matching-text (blink-matching-open))) 
     (when matching-text 
     (message matching-text))))) 
2

Bạn có thể làm M-x blink-matching-open RET và nếu bạn muốn sử dụng nó thường xuyên, hãy liên kết nó với một khóa. câu trả lời

1

scotfrazer của hoạt động tuyệt vời cho Parens, niềng răng vv, nhưng nếu bạn cần phải phù hợp ruby ​​def ... kết thúc hoặc lớp ... delimiters kết thúc (hoặc tương đương trong các ngôn ngữ khác) this answer từ emacs.stackexchange hoạt động tuyệt vời:

(defvar match-paren--idle-timer nil) 
(defvar match-paren--delay 0.5) 
(setq match-paren--idle-timer 
    (run-with-idle-timer match-paren--delay t #'blink-matching-open)) 

Dấu phân cách phù hợp (ngoài trang) sẽ được đánh dấu nếu bạn tạm dừng con trỏ trên dấu phân cách trong 0,5 giây trở lên.

0

Bạn có thể cài đặt Mic Paren (có sẵn trên MELPA: M-x package-install mic-paren) và kích hoạt nó với M-x paren-activate

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