¿Hay una mejor manera de resaltar todos los símbolos resaltados en un búfer?
De C-h f unhighlight-regexp, obtenemos
(unhighlight-regexp REGEXP)
Elimine el resaltado de cada coincidencia a REGEXP establecido por hi-lock. Interactivamente, solicite REGEXP, aceptando solo expresiones regulares previamente insertadas por funciones interactivas de bloqueo alto. Si REGEXP es t (o si Cu se especificó de forma interactiva), elimine todo el resaltado de bloqueo alto.
Eso significa que simplemente necesidad de llamar unhighlight-regexpcon tcomo argumento para eliminar todo el hi-lock destacando en el búfer.
Si fuera una cosa de una sola vez, podría hacerse rápidamente por M-: (unhighlight-regexp t)o C-u M-s h u. Pero parece que esto es algo que debe hacer con bastante frecuencia. En ese caso, es mejor envolverlo en una interactivefunción y vincularlo a alguna tecla.
A continuación se muestra una solución propuesta donde my/unhighlight-all-in-bufferestá la función interactiva del contenedor y está vinculada hUen el search-map. Por defecto el search-mapprefijo es M-s. Así que ahora, al igual que los M-s h ulanzamientos unhighlight-regexp, M-s h U(nota la U mayúscula) se lanza 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)
¿Hay una mejor manera de resaltar un símbolo en el punto?
Lo bueno es que no necesita colocar el punto en un símbolo que necesita resaltar.
Simplemente llame M-x unhighlight-regexpo M-s h u(su enlace predeterminado) y presione M-p/ M-nhasta que encuentre la expresión regular del símbolo que necesita para resaltar, y presione Entrar.