Có cách nào tốt hơn để làm nổi bật tất cả các biểu tượng được tô sáng trong bộ đệm không?
Từ C-h f unhighlight-regexp, chúng tôi nhận được
(REGEXP không nổi bật)
Xóa phần tô sáng của mỗi trận đấu thành REGEXP được đặt bằng khóa hi. Tương tác, nhắc nhở REGEXP, chỉ chấp nhận các biểu thức chính được chèn trước đó bởi các chức năng tương tác khóa cao. Nếu REGEXP là t (hoặc nếu Cu được chỉ định tương tác), thì hãy xóa tất cả đánh dấu khóa hi.
Điều đó có nghĩa là chúng ta chỉ cần gọi unhighlight-regexpvới ttư cách là đối số của nó để loại bỏ tất cả các đánh dấu khóa hi trong bộ đệm.
Nếu nó là một lần duy nhất, nó có thể được thực hiện nhanh chóng bằng M-: (unhighlight-regexp t)hoặc C-u M-s h u. Nhưng dường như đây là việc bạn cần làm khá thường xuyên. Trong trường hợp đó, tốt hơn là bọc nó trong một interactivehàm và liên kết nó với một số khóa.
Dưới đây là một giải pháp được đề xuất trong đó my/unhighlight-all-in-bufferlà chức năng tương tác của trình bao bọc và nó được ràng buộc hUtrong search-map. Theo mặc định, search-maptiền tố là M-s. Vì vậy, bây giờ, giống như M-s h ura mắt unhighlight-regexp, M-s h U(lưu ý thủ đô U) ra mắt my/unhighlight-all-in-buffer.
(require 'hi-lock)
(defun my/unhighlight-all-in-buffer ()
"Remove all highlights made by `hi-lock' from the current buffer.
The same result can also be be achieved by \\[universal-argument] \\[unhighlight-regexp]."
(interactive)
(unhighlight-regexp t))
(define-key search-map "hU" #'my/unhighlight-all-in-buffer)
Có cách nào tốt hơn để làm nổi bật một biểu tượng tại điểm?
Điều tốt là bạn không cần phải đặt điểm trên một biểu tượng bạn cần làm nổi bật.
Bạn chỉ cần gọi M-x unhighlight-regexphoặc M-s h u(ràng buộc mặc định của nó) và nhấn M-p/ M-ncho đến khi bạn gặp phải biểu thức chính của biểu tượng bạn cần làm nổi bật và nhấn Enter.