Czy istnieje lepszy sposób na wyróżnienie wszystkich podświetlonych symboli w buforze?
Od C-h f unhighlight-regexp
, rozumiemy
(unhighlight-regexp REGEXP)
Usuń zaznaczenie każdego dopasowania do zestawu REGEXP przez hi-lock. Interaktywnie pytaj o REGEXP, akceptuj tylko wyrażenia regularne poprzednio wstawione przez interaktywne funkcje hi-lock. Jeśli REGEXP to t (lub jeśli Cu określono interaktywnie), usuń wszystkie podświetlenia hi-lock.
Oznacza to, że po prostu musimy zadzwonić unhighlight-regexp
z t
argumentem, aby usunąć wszystkie podświetlenia hi-lock w buforze.
Gdyby to była jednorazowa rzecz, można to szybko zrobić za pomocą M-: (unhighlight-regexp t)
lub C-u M-s h u
. Wygląda jednak na to, że trzeba to robić dość często. W takim przypadku lepiej jest zawinąć go w interactive
funkcję i przypisać do jakiegoś klawisza.
Poniżej znajdują się proponowane rozwiązanie, gdzie my/unhighlight-all-in-buffer
jest interaktywny funkcja otoki i jest związana hU
w search-map
. Domyślnie search-map
prefiks to M-s
. Więc teraz, tak jak M-s h u
szalup unhighlight-regexp
, M-s h U
(uwaga na kapitał U) uruchamia 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)
Czy istnieje lepszy sposób na wyróżnienie symbolu w punkcie?
Dobrą rzeczą jest to, że nie musisz umieszczać punktu na symbolu, który musisz odznaczyć.
Po prostu wywołujesz M-x unhighlight-regexp
lub M-s h u
(jego domyślne wiązanie) i naciskasz M-p
/ M-n
dopóki nie natrafisz na wyrażenie regularne symbolu, którego chcesz odznaczyć, i naciskasz Enter.