Niemand erwähnte den symbol-overlay
Modus . Es ist im Grunde eine bessere Umschreibung von highlight-symbol-mode
. "Besser" wie in, es fehlen Fehler des ursprünglichen Hervorhebungssymbols (z. B. temporäres Hervorheben bleibt hängen oder das temporäre Hervorheben verschwindet, um sich innerhalb des hervorgehobenen Wortes zu bewegen, oder es können Symbole wie nicht hervorgehoben werden *
) , besser integriert und beibehalten. Siehe Abschnitt "Vorteile" in der README-Datei.
Sie können es wie gewohnt mit installieren M-xpackage-install (stellen Sie sicher, dass Sie die Paketliste vorher mit aktualisieren package-list-packages
) . Als Referenz habe ich unten Code angehängt, mit dem ich den Modus aktiviere und einige der erweiterten Funktionen deaktiviere, die Sie möglicherweise möchten oder nicht.
Notepad ++ bietet eine praktische Funktion: Wenn Sie ein Wort in Ihrem Text auswählen (nicht unbedingt ein Schlüsselwort), wird das Wort im gesamten Text hervorgehoben. Kann das auch in Emacs gemacht werden? Und wenn ja, wie?
Nach dem Aktivieren overlay-symbol
werden Vorkommen auf dem Bildschirm für jedes Wort angezeigt, auf das Sie nach einer Zeitüberschreitung den Cursor setzen (die Zeitüberschreitung beträgt standardmäßig 0,5 Sekunden und kann mit einer symbol-overlay-idle-time
Variablen konfiguriert werden) . Wenn ein Wort nicht hervorgehoben wird, bedeutet dies, dass nur eine Übereinstimmung auf dem Bildschirm angezeigt wird (die, auf die Sie den Cursor setzen) , sodass Sie es nicht hervorheben müssen.
Es wäre großartig, wenn die Hervorhebungen dauerhaft wären, dh wenn Sie den Punkt von einem hervorgehobenen Wort wegbewegen, sollte die Hervorhebung nicht entfernt werden.
Um das Wort unter dem Cursor dauerhaft hervorzuheben, gibt es eine Funktion symbol-overlay-put
. Zum Hervorheben rufen Sie es noch einmal auf.
In meinem Konfigurationsbeispiel ist es an die Taste Logo+ gebunden `.
(require 'symbol-overlay)
(defun enable-symbol-overlay-mode ()
(unless (or (minibufferp)
(derived-mode-p 'magit-mode)
(derived-mode-p 'xref--xref-buffer-mode))
(symbol-overlay-mode t)))
(define-global-minor-mode global-symbol-overlay-mode
symbol-overlay-mode
enable-symbol-overlay-mode)
(global-symbol-overlay-mode)
(global-set-key (kbd "s-`") 'symbol-overlay-put)
(setq symbol-overlay-ignore-functions nil)
(setq symbol-overlay-map (make-sparse-keymap))