Nehmen wir an, ich möchte einige Wörter hervorheben und die Farbe dieser Wörter auf z. B. grün ändern.
Gibt es eine einfache Möglichkeit, dies in emacs zu tun?
Ich danke Ihnen.
Nehmen wir an, ich möchte einige Wörter hervorheben und die Farbe dieser Wörter auf z. B. grün ändern.
Gibt es eine einfache Möglichkeit, dies in emacs zu tun?
Ich danke Ihnen.
Das habe ich getan, indem ich font-lock-add-keywords
. Ich wollte die Worte hervorheben TODO:
, HACK:
y FIXME:
in meinem Code.
(defface todo-face
'((t ()))
"Face for highlighting comments like TODO: and HACK:")
(set-face-background 'todo-face cyan-name)
;; Add keywords we want highlighted
(defun add-todo-to-current-mode ()
(font-lock-add-keywords nil
'(("\\(TODO\\|HACK\\|FIXME\\):" 1 'todo-face prepend))
t))
Verwenden Sie die Funktion font-lock-add-keywords
um einen neuen Abgleicher für die betreffende Zeichenfolge zu definieren und diesen Abgleicher mit algunos Gesicht Sie haben definiert die grün angezeigt wird. Zum Beispiel:
(font-lock-add-keywords nil
'("\\<foo\\>" 0 my-green-face))
Beachten Sie, dass Sie eine bestimmte Modus wo ich schrieb nil
und die dazugehörigen Formulare können in sechs verschiedenen Stilen gestaltet werden. Siehe die Dokumentation für die Variable font-lock-keywords
für die Regeln und ein paar Beispiele.
Wenn Sie sie nur vorübergehend hervorheben wollen, finde ich M-x highlight-regexp
ist sehr hilfreich, vor allem, wenn es darum geht, Logdateien zu durchsuchen. Zum Beispiel haben Sie sich eine Logging-Klasse erstellt, die einige Informationen zur Nachverfolgung ausgibt wie MyClass::function() >
wenn die Funktion ausgeführt wird und MyClass::function() <
wenn es beendet wird (kann manchmal besonders nützlich sein, wenn man Multithreading-Probleme debuggt), dann bittet man emacs einfach, einige davon grün und andere rot zu markieren und dann kann man sehen, wie die Ausführung gelaufen ist.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.