Existe uma maneira melhor de destacar todos os símbolos destacados em um buffer?
De C-h f unhighlight-regexp
, temos
(REGEXP de unhighlight-regexp)
Remova o realce de cada correspondência para REGEXP definido por hi-lock. Interativamente, solicite REGEXP, aceitando apenas regexps inseridos anteriormente por funções interativas hi-lock. Se REGEXP for t (ou se Cu foi especificado interativamente), remova todo o destaque do hi-lock.
Isso significa que nós simplesmente necessidade de chamar unhighlight-regexp
com t
como seu argumento para remover todos os oi-lock destacando no buffer.
Se fosse algo único, poderia ser feito rapidamente por M-: (unhighlight-regexp t)
ou C-u M-s h u
. Mas parece que isso é algo que você precisa fazer com bastante frequência. Nesse caso, é melhor agrupá-lo em uma interactive
função e vinculá-lo a alguma chave.
Abaixo está uma solução proposta em que my/unhighlight-all-in-buffer
está a função interativa do wrapper e está vinculada hU
a search-map
. Por padrão, o search-map
prefixo é M-s
. Então, agora, assim como M-s h u
lançamentos unhighlight-regexp
, M-s h U
(note a capital U) lançamentos 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)
Existe uma maneira melhor de destacar um símbolo no momento?
O bom é que você não precisa colocar o ponto em um símbolo que precisa destacar.
Você simplesmente chama M-x unhighlight-regexp
ou M-s h u
(sua ligação padrão) e pressiona M-p
/ M-n
até encontrar a expressão regular do símbolo que precisa destacar, e pressione Enter.