Apakah ada cara yang lebih baik untuk menyoroti semua simbol yang disorot dalam buffer?
Dari C-h f unhighlight-regexp
, kita dapatkan
(unhighlight-regexp REGEXP)
Hapus sorotan setiap pertandingan ke REGEXP yang diatur oleh hi-lock. Secara interaktif, minta REGEXP, hanya menerima regexps yang sebelumnya disisipkan oleh fungsi interaktif hi-lock. Jika REGEXP adalah t (atau jika Cu ditentukan secara interaktif), maka hapus semua sorotan kunci-tinggi.
Itu berarti bahwa kita hanya perlu memanggil unhighlight-regexp
dengan t
sebagai argumennya untuk menghapus semua highlight hi-lock di buffer.
Jika itu hanya satu kali, itu bisa dengan cepat dilakukan oleh M-: (unhighlight-regexp t)
atau C-u M-s h u
. Tetapi sepertinya ini adalah sesuatu yang perlu Anda lakukan cukup sering. Dalam hal ini, lebih baik membungkusnya dalam suatu interactive
fungsi dan mengikatnya ke beberapa tombol.
Di bawah ini adalah solusi yang diusulkan di mana my/unhighlight-all-in-buffer
fungsi interaktif wrapper dan terikat hU
pada search-map
. Secara default search-map
awalannya adalah M-s
. Jadi sekarang, sama seperti M-s h u
peluncuran unhighlight-regexp
, M-s h U
(perhatikan ibukota U) diluncurkan 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)
Apakah ada cara yang lebih baik untuk menyoroti simbol pada titik?
Hal yang baik adalah bahwa Anda tidak perlu menempatkan titik pada simbol yang harus Anda sorot.
Anda cukup memanggil M-x unhighlight-regexp
atau M-s h u
(penjilidan bawaannya) dan menekan M-p
/ M-n
sampai Anda menemukan regexp dari simbol yang Anda perlukan untuk menyoroti, dan tekan Enter.