¿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-regexp
con t
como 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 interactive
función y vincularlo a alguna tecla.
A continuación se muestra una solución propuesta donde my/unhighlight-all-in-buffer
está la función interactiva del contenedor y está vinculada hU
en el search-map
. Por defecto el search-map
prefijo es M-s
. Así que ahora, al igual que los M-s h u
lanzamientos 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-regexp
o M-s h u
(su enlace predeterminado) y presione M-p
/ M-n
hasta que encuentre la expresión regular del símbolo que necesita para resaltar, y presione Entrar.