Existe-t-il une meilleure façon de mettre en surbrillance tous les symboles en surbrillance dans un tampon?
De C-h f unhighlight-regexp
, nous obtenons
(unhighlight-regexp REGEXP)
Supprimez la mise en surbrillance de chaque correspondance dans REGEXP définie par Hi-Lock. De manière interactive, demandez REGEXP, en acceptant uniquement les expressions rationnelles précédemment insérées par les fonctions interactives de verrouillage. Si REGEXP est t (ou si Cu a été spécifié de manière interactive), supprimez tous les surlignages Hi-Lock.
Cela signifie que nous devons simplement appeler unhighlight-regexp
avec t
comme argument pour supprimer tous les surlignages hi-lock dans le tampon.
Si c'était une chose unique, cela pourrait être fait rapidement par M-: (unhighlight-regexp t)
ou C-u M-s h u
. Mais il semble que c'est quelque chose que vous devez faire assez souvent. Dans ce cas, il est préférable de l'envelopper dans une interactive
fonction et de la lier à une clé.
Ci-dessous est une solution proposée où se my/unhighlight-all-in-buffer
trouve la fonction interactive wrapper et à laquelle elle est liée hU
dans le search-map
. Par défaut, le search-map
préfixe est M-s
. Alors maintenant, tout comme les M-s h u
lancements unhighlight-regexp
, M-s h U
(notez le U majuscule) les lancements 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-t-il une meilleure façon de mettre en surbrillance un symbole au point?
La bonne chose est que vous n'avez pas besoin de placer le point sur un symbole que vous devez mettre en surbrillance.
Vous appelez simplement M-x unhighlight-regexp
ou M-s h u
(sa liaison par défaut) et appuyez sur M-p
/ M-n
jusqu'à ce que vous tombiez sur l'expression rationnelle du symbole que vous devez mettre en surbrillance, puis appuyez sur Entrée.