Wie wird die Zeichenfolge und die Zeichenfolge für das Hervorheben von Zeichen im Puffer hervorgehoben - Make-Overlay

742
lawlist

Ich kämme gerade isearch.el, um herauszufinden, wie highlight-stringund unhighlight-stringin den Puffer. Dies ist erforderlich, wenn dies highlight-regexpnicht funktioniert - z. B. eine Zeichenfolge wie folgt:

** Active [#A] .;;;;;;;;;;;;;;;;;;;;;;;;;;;; HIGH ;;;;;;;;;;;;;;;;;;;;;;;;;;;. :HIGH: DEADLINE: <2013-12-15 Sun> 

Die Funktionen isearch-highlight (beg end)und isearch-dehighlightsind fast genau das, was benötigt wird - ich muss nur modifizieren, (beg end)damit ein String verwendet werden kann.

begund endkann sich während der Funktion bewegen (z. B. org-archive-subtree), sodass es ein paar zusätzliche Codezeilen gibt, um die Zeichenfolge erneut zu finden und neu zu definieren begund end- es wäre schön, so etwas zu verwenden(highlight-string string).

1
The question is not clear to me. In what way does `highlight-regexp` "not work"? What is the spec for your hypothetical `highlight-string`? Is it something more than `(highlight-regexp (reqgexp-quote string))`? Drew vor 10 Jahren 1
@Drew  I learned something knew today thanks to you -- I hadn't seen `(highlight-regexp (regexp-quote string))` before. Thank you very much -- greatly appreciated !!! lawlist vor 10 Jahren 0
You're welcome. People sometimes forget that a literal string ***is*** a regexp, so that functions that work with regexps also work with literal strings. And `regexp-opt` makes a string literal, as a regexp. I posted the info as an answer, for clarity. Drew vor 10 Jahren 0

1 Antwort auf die Frage

1
Drew

Verwenden Sie einfach (highlight-regexp (regexp-quote YOUR-STRING)), um alle Regex-Sonderzeichen in zu ersetzen YOUR-STRING.