Esiste un modo migliore per evidenziare tutti i simboli evidenziati in un buffer?
Da C-h f unhighlight-regexp
, otteniamo
(unhighlight-regexp REGEXP)
Rimuovi l'evidenziazione di ogni partita su REGEXP impostato da hi-lock. Interattivo, richiede REGEXP, accettando solo regexps precedentemente inseriti da funzioni interattive hi-lock. Se REGEXP è t (o se Cu è stato specificato in modo interattivo), quindi rimuovere l'evidenziazione di hi-lock.
Ciò significa che si devono semplicemente chiamata unhighlight-regexp
con t
come argomento per rimuovere tutti hi-lock evidenziando nel buffer.
Se fosse una cosa una tantum, potrebbe essere fatto rapidamente da M-: (unhighlight-regexp t)
o C-u M-s h u
. Ma sembra che questo sia qualcosa che devi fare abbastanza spesso. In tal caso, è meglio racchiuderlo in una interactive
funzione e associarlo a un tasto.
Qui di seguito è una soluzione proposta in cui my/unhighlight-all-in-buffer
è la funzione interattiva involucro ed è destinato a hU
nel search-map
. Di default il search-map
prefisso è M-s
. Quindi ora, proprio come i M-s h u
lanci unhighlight-regexp
, M-s h U
(nota la U maiuscola) 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)
Esiste un modo migliore per evidenziare un simbolo nel punto?
La cosa buona è che non è necessario posizionare il punto su un simbolo che è necessario evidenziare.
Basta chiamare M-x unhighlight-regexp
o M-s h u
(il suo binding predefinito) e premere M-p
/ M-n
fino a quando non si incontra la regexp del simbolo che è necessario deselezionare e premere Invio.