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-regexp
với t
tư 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 interactive
hà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-buffer
là chức năng tương tác của trình bao bọc và nó được ràng buộc hU
trong search-map
. Theo mặc định, search-map
tiền tố là M-s
. Vì vậy, bây giờ, giống như M-s h u
ra 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-regexp
hoặc M-s h u
(ràng buộc mặc định của nó) và nhấn M-p
/ M-n
cho đế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.