2013-01-31 9 views
5

In den Programmdateien verwende ich den Whitespace-Modus, um Tab und lange Zeilen zu markieren. Die Standard-Hervorhebung ist zu Garnitur für mich. Ich möchte sie nur mit einem grauen Hintergrund hervorheben und behalten, was auch immer normale Farbe es für die Schriftart sein sollte. Wie könnte ich das einstellen?Wie lösche ich die Vordergrundfarbe des Whitespace-Modus für Emacs

Die folgende Konfiguration funktioniert nicht. Ich möchte, dass der Code hinter 80 Spalten gelblich erscheint, wie die Zeichen innerhalb von 80 Spalten im Snapshot.

;; face for long lines' tails 
(set-face-attribute 'whitespace-line nil 
        :background "#555" 
        :weight 'bold) 

;; face for Tabs 
(set-face-attribute 'whitespace-tab nil 
        :background "#555" 
        :weight 'bold) 

whitespace-mode

+0

gleiche Problem. Im Standarddesign ist das nachgestellte Leerzeichen ein schönes Grau. In jedem anderen Farbthema leuchtet es rot, als wäre es ein fataler Fehler. Die folgende Antwort auf das Set-Face-Attribut hat keine Auswirkung. –

Antwort

4

set-face-attribute Änderungen nur die Attribute, die Sie angeben.

Set :foreground-nil:

(set-face-attribute 'whitespace-line nil 
        :foreground nil 
        :background "#555" 
        :weight 'bold) 
+0

Ich weiß, aber Null wird die Schriftart weiß nicht gelb setzen. – RNA

+0

Ich verstehe. Kurze Antwort: Sie können es nicht tun. Längere Antwort: Sie müssten whitespace.el patch: https://gist.github.com/72d39c507d56c5c5e0ed – Dmitry

+0

Ich bin auf der Suche nach etwas ähnlich zu Defadvice als für die Funktion – RNA

3

Für mich stellte sich die unangenehme Farbe Hinter-Leerzeichen werden, und ich bin mit dieser:

;; whitepace looks rediculous in color themes. 
(defadvice color-theme-install (after my-color-theme-install-after activate) 
    "Fix trailing-whitespace after color theme destroys it" 
    (set-face-attribute 'trailing-whitespace nil 
         :foreground 'unspecified 
         :inverse-video 'unspecified 
         :slant 'unspecified 
         :weight 'unspecified 
         :background "#fff")) 
+0

Doing this für trailing-whitespace und whitespace-line funktionierte für mich mit emacs 24.4 - außer dass ich benutzt habe (add-hook 'python-mode-hook' (lambda() (set-face-attribute ...))). Zweifellos ist das nicht der beste Ort, aber für meinen Zweck gearbeitet. –

Verwandte Themen