Wie kann ich Emacs bitten, je nach dem Modus des Puffers ein anderes Farbschema automatisch zu verwenden (z. B. mit dem Elisp ColorTheme-Paket)?
Einige Farbthemen funktionieren hervorragend beim Bearbeiten von Code, aber nicht im Dired + -, TERM- oder Shell-Modus.
Danke
Es scheint, dass Sie keine separaten Farbthemen für verschiedene Puffer festlegen können, aber Sie können sie für verschiedene Rahmen festlegen. Sie finden Anweisungen zum Einstellen von Farbthemen pro Rahmen hier Ссылка .
Sie können einen Load-Hook verwenden, um das Farbschema automatisch zu ändern, wenn ein Modus geladen wird, aber es wird die Änderung auf alle Puffer anwenden.
Sie können das Farbschema ändern, wenn ein Modus mit einem Load-Hook geladen wird. z.B.
%Vor%Bearbeiten: Hier ist eine Funktion, die die Shell in einem neuen Frame unter Verwendung eines anderen Farbthemas öffnet:
%Vor% Das Paket load-theme-buffer-local
(oder color-theme-buffer-local.el
, wenn Sie pre emacs 24 Themen verwenden) kann verschiedene Gesichter pro Puffer setzen.
Dein Hintergrund bleibt jedoch gleich.
Sie können es wie folgt haken:
(add-hook 'js2-mode-hook (lambda nil (load-theme-buffer-local 'tango (current-buffer))))
Die Pakete sind verfügbar unter MELPA ( M-x install-package RET load-theme-buffer-local
), source und readme auf github
Ich hatte in der Vergangenheit das gleiche Problem mit unlesbaren Dired-Puffern im Terminal. Als Workaround habe ich M-x angepasst-Option font-lock-maximum-decoration; Sie können die Variable auch direkt in Ihrer Konfigurationsdatei festlegen, z. %Code%. Dies verwendet Standard-Dekorationen für Dired und Maximum für alles andere (das war die Standardeinstellung). Mach (setq font-lock-maximum-decoration (quote ((dired-mode . nil) (t . t))))
für Details.
Dies beantwortet die Frage nicht genau - ich weiß nicht, ob es möglich ist, pro-buffer oder pro-mode Farbthemen zu verwenden - aber es könnte helfen, das zugrunde liegende Problem zu lösen.