2012-02-27 13 views
32

Mam następujący kod w moim .emacs:Ustawianie Emacs 24 kolorów motyw z .emacs

(if (null window-system) 
    (progn 
    (require 'color-theme) 
    (color-theme-initialize) 
    (color-theme-simple-1))) 

Kiedy otwieram Emacs na konsoli, mogę sprawdzić, czy progn biegnie blokowe (przez (message "Got here.")), i widzę flash, który sugeruje, że motyw kolorów został załadowany, ale jeśli został załadowany, jest nadpisany przez coś innego. Jeśli po wczytaniu otworzę plik .emacs i przekażę powyższy blok, używając C-x C-e, to działa. Próbowałem już:

(add-hook 'after-init-hook 
      (lambda() 
      (progn 
       (require 'color-theme) 
       (color-theme-initialize) 
       (color-theme-simple-1)))) 

ale to działa tak samo.

Może to być istotne, że używam Emacsa 24, i że ten kod nie znajduje się w moim pliku .emacs, ale w ~/Dropbox/.emacs, który jest ładowany z mojego .emacs.


Dodatkowa uwaga: Próbowałem M-x customize-themes, ale żaden z nich nie działa zadowalająco na konsoli. Tworzą prawie nieczytelny motyw światła lub większość tekstu jest niewidoczna.

+0

czy sprawdziłeś ustawienia kolorów w '.emacs.d'? może z motywem tworzącym nieczytelny zestaw kolorów. –

+3

Ten kod wygląda jak przeniesienie z Emacs 23 'color-theme.el'. – pmr

Odpowiedz

49

Emacs 24 posiada wbudowaną kategoryzacji, która nie korzysta z wypowiedzi jak (require 'color-theme). Jak Drew zaznacza w komentarzach, there are differences między tematami kolorów i niestandardowymi motywami, a nowy kierunek jest skierowany do drugiego. Wypróbuj M-x customize-themes, aby rzucić okiem. Od .emacs możesz robić rzeczy takie jak (load-theme 'wombat t).

Ale ...

wciąż może być nie tak dla ciebie. Jedną rzeczą, która może zepsuć to w ten sposób, jest zmiana twarzy - być może w niestandardowym zestawie twarzy w pliku .emacs. Interaktywna personalizacja Emacsa automatycznie uwzględnia informacje o kolorach (zarówno na pierwszym planie, jak i w tle) niezależnie od tego, jakiego motywu używasz w momencie ustawiania, więc z pewnością może to powodować problemy z motywami kolorów. Jeśli właśnie to powoduje, możesz po prostu ustawić konkretny atrybut, który Cię interesuje, z czymś takim, jak to, na czym Ci zależy, z czymś takim, jak to, na czym Ci zależy, z czymś takim, jak to, co Cię interesuje, z czymś takim, jak to, co Cię interesuje, z czymś takim, jak to, co Cię interesuje, z czymś takim, jak to, na czym zależy, z czymś, co zmieni rozmiar czcionki bez zmiany kolorów.

+0

Zobacz moje komentarze do @selman. Motywy "dostosuj motywy" nie działają poprawnie na konsoli. – JasonFruit

+0

Sprawdziłem, co się stanie, jeśli usunę blok z ustawieniami własnych twarzy z mojego .emacs, a to działa - powoduje, że motywy kolorystyczne i dostosowane motywy działają zgodnie z oczekiwaniami. Będę musiał to zrobić, aby moje twarze o niestandardowych ustawieniach działały tylko wtedy, gdy używam Emacsa w X. Dzięki! – JasonFruit

+0

Świetnie. A tak przy okazji, jeśli szukasz niestandardowych opcji, jestem fanem kolorystyki [solarized] (https://github.com/sellout/emacs-color-theme-solarized). (Oczywiście, instalacja nie wydaje się działać przez menedżera pakietów w tej chwili ...) – Mike

6

Emacs 24 ma własny system tematyczny.

M-x customize-themes 

lub

(custom-set-variables 
    .... 
    '(custom-enabled-themes (quote (selected-theme))) 
) 
+1

Tak, ale nie ma dobrej i prostej kompozycji odpowiedniej dla konsoli. (Jeśli się mylę, proszę oświeć mnie.) – JasonFruit

+0

W rzeczywistości, jak pamiętam, wszystkie wychodzą na dwa sposoby na konsoli: tekst na jasnoszarym tle lub brak tekstu na jasnoszarym tle. W ogóle nie jest to, co chciałbym, choć oczywiście wolałbym ten pierwszy od drugiego. – JasonFruit

+2

Myślę, że tsdh-dark sprawdza się zarówno w trybie konsoli, jak i edycji. –