highlight-symbol-at-point
ist wirklich nützlich, aber ich konnte keine einfache Möglichkeit finden, Symbole zu deaktivieren.
Derzeit muss ich unhighlight-regexp
für jedes hervorgehobene Symbol wiederholt anrufen .
Gibt es einen besseren Weg, um:
- heben Sie alle hervorgehobenen Symbole in einem Puffer hervor
- ein Symbol an einer Stelle deaktivieren?
highlighting
kostya
quelle
quelle
M-x hi-lock-mode
Antworten:
Gibt es eine bessere Möglichkeit, alle hervorgehobenen Symbole in einem Puffer zu deaktivieren?
Von
C-h f unhighlight-regexp
bekommen wirDas bedeutet, dass wir einfach
unhighlight-regexp
mitt
als Argument aufrufen müssen, um alle High-Lock-Hervorhebungen im Puffer zu entfernen.Wenn es eine einmalige Sache wäre, könnte sie schnell von
M-: (unhighlight-regexp t)
oder erledigt werdenC-u M-s h u
. Aber es scheint, dass Sie dies ziemlich oft tun müssen. In diesem Fall ist es besser, sie in eineinteractive
Funktion einzubinden und an eine Taste zu binden.Nachfolgend finden Sie eine vorgeschlagene Lösung, bei der
my/unhighlight-all-in-buffer
es sich um die interaktive Wrapperfunktion handelt, an diehU
in der gebunden istsearch-map
. Standardmäßigsearch-map
lautet das PräfixM-s
. So, jetzt, wieM-s h u
startetunhighlight-regexp
, startetM-s h U
(beachten Sie die Hauptstadt U)my/unhighlight-all-in-buffer
.Gibt es eine bessere Möglichkeit, ein Symbol an einem Punkt hervorzuheben?
Das Gute ist, dass Sie den Punkt nicht auf einem Symbol platzieren müssen, das Sie deaktivieren möchten.
Sie rufen einfach
M-x unhighlight-regexp
oderM-s h u
(die Standardbindung) auf und drückenM-p
/,M-n
bis Sie auf den regulären Ausdruck des Symbols stoßen, das Sie deaktivieren möchten, und drücken die Eingabetaste.quelle
Eine andere Möglichkeit ist die Verwendung der Bibliothek Highlight (
highlight.el
), Befehlehlt-highlight-symbol-at-point
undhlt-unhighlight-symbol-at-point
.Sie sind standardmäßig an
C-x X h s
bzw. gebundenC-x X u s
. Alle hervorgehobenen und nicht hervorgehobenen Befehle sindC-x X
standardmäßig an den Präfixschlüssel gebunden . Befehle werden mit der Präfixtaste hervorgehobenC-x X h
. Befehle, die nicht markiert sind, verwenden die PräfixtasteC-x X u
. Sie können einen anderen Präfixschlüssel verwenden, alsC-x X
indem Sie ihn nur an den Präfixbefehl bindenhlt-map
.Hervorheben in der Bibliothek Hervorheben kann Überlagerungen oder Texteigenschaften (oder beides) verwenden. Das hervorgehobene Gesicht oder die hervorgehobene Farbe können automatisch ausgewählt werden (aus einer benutzerdefinierten Folge von Gesichtern und Farben) oder nicht.
Die Hervorhebung kann eine Eigenschaft verwenden
font-lock-face
, sodass sie vom Schriftsperrmodus gesteuert wird. Oder es kann Eigenschaft verwendenface
, so dass es nicht von ihr gesteuert wird. (Sie können Eigenschaft verwendenface
, um in Puffern hervorzuheben, die keine Schriftsperre verwenden, und die Hervorhebung bleibt in Puffern mit Schriftsperre erhalten, wenn Sie den Schriftsperrmodus deaktivieren.)quelle
C-u C-x w r
quelle
Dies hebt ein einzelnes Symbol hervor:
quelle