Bir arabellekteki tüm vurgulanan sembolleri vurgulamanın daha iyi bir yolu var mı?
Dan C-h f unhighlight-regexp
alırsak alalım,
(unhighlight-regexp REGEXP)
Yüksek kilitle ayarlanmış REGEXP ile her bir eşleşmenin vurgulamasını kaldırın. Etkileşimli olarak, REGEXP isteminde bulunun, yalnızca daha önce hi-lock etkileşimli işlevler tarafından eklenen normal ifadeleri kabul edin. REGEXP t ise (veya Cu etkileşimli olarak belirtildiyse), tüm yüksek kilitli vurgulamayı kaldırın.
Biz sadece çağrı gerektiğini Bunun anlamı unhighlight-regexp
ile t
tampon içerisinde vurgulayarak tüm hi-kilidi kaldırmak için bağımsız değişken olarak.
Bir kerelik bir şey olsaydı, hızla M-: (unhighlight-regexp t)
veya tarafından yapılabilir C-u M-s h u
. Ama öyle görünüyor ki bu oldukça sık yapmanız gereken bir şey. Bu durumda, bir interactive
işleve sarmak ve bir tuşa bağlamak daha iyidir .
Aşağıda önerilen bir çözüm my/unhighlight-all-in-buffer
sarıcı etkileşimli fonksiyonudur ve bu bağlı olduğu hU
de search-map
. Varsayılan olarak search-map
öneki M-s
. Şimdi, tıpkı M-s h u
lansmanları unhighlight-regexp
, M-s h U
lansmanlar (sermaye U dikkat edin) 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)
Bu noktada bir sembolü vurgulamak için daha iyi bir yol var mı?
İyi olan şey, noktayı vurgulamak için ihtiyacınız olan bir sembole yerleştirmeniz gerekmemesidir.
Sadece M-x unhighlight-regexp
ya da M-s h u
(varsayılan bağlaması) arayın ve vurgulamak istediğiniz simgenin normal ifadesiyle karşılaşana kadar M-p
/ M-n
tuşuna basın ve Enter tuşuna basın.