2009-07-15 4 views
0

Ich habe zwei Versionen ein:Wie richte ich Emacs-Farben korrekt ein?

My computer  apt-get emacs 23.0.91 
Remote server yum  emacs 21.4 

I Farbe-theme-6.6.0, die Dateien setzen heruntergeladen haben in/usr/share/emacs/-version-/Lisp /, und ich habe dies in meinem .emacs:

(require 'color-theme) 
(color-theme-initialize) 
(color-theme-midnight) 

Lauf emacs in einem Terminal, alle Farben korrekt angezeigt werden auf meinem Computer, aber auf dem Server, bekomme ich nur zwei Farben ??? Der Hintergrund ist eine Farbe, und der Text ist ein anderer, egal welches Thema ich wähle. Wenn ich Emacs starte, erscheinen keine Fehler.

Irgendwelche Vorschläge?

Antwort

6

von Unix and Color Highlighting umschrieben:

Zur Anzeige Syntax auf einem Unix/Linux Hervorhebung verwenden Box benötigen Sie entweder einen Anschluss, der Farbe unterstützt. Einige Systeme (AIX für mich) benötigen eine TERMINFO-Datei, die von Tic auf einer xterm-color.tic-Datei generiert wird. Hier ist ein Schnipsel:

setenv TERMINFO /home/cfl/lib/terminfo 
tic xterm-color 
setenv TERM xterm-color 

Wieder lesen Sie die Unix and Color Highlighting Artikel für alle Details.


Auf einer anderen Anmerkung, ist es das, was meine .emacs Datei für die Einstellung Farbe enthält (auf dunklem Hintergrund).

;; Maximum colors 
(setq font-lock-maximum-decoration t) 

(setq frame-background-mode 'dark) 

(setq auto-mode-alist '(("\\.ad[bs]\\'" . ada-mode) 
         ("\\.awk\\'"  . awk-mode) 
         ("\\.lex\\'"  . c-mode) 
         ("\\.[cy]\\'"  . c++-mode) 
         ("\\.h\\'"  . c++-mode) 
         ("\\.hxx\\'"  . c++-mode) 
         ("\\.[CH]\\'"  . c++-mode) 
         ("\\.java\\'"  . java-mode) 
         ("\\.cc\\'"  . c++-mode) 
         ("\\.hh\\'"  . c++-mode) 
         ("\\.cxx\\'"  . c++-mode) 
         ("\\.cpp\\'"  . c++-mode) 
         ("\\.rc\\'"  . c++-mode) ;; resource files 
         ("\\.rcv\\'"  . c++-mode) 
         ("\\.m\\'"  . matlab-mode) 
         ("\\.p[lm]\\'" . perl-mode) 
         ("\\.cgi\\'"  . perl-mode) 
         ("\\.f\\'"  . fortran-mode) 
         ("\\.F\\'"  . fortran-mode) 
         ("\\.f90\\'"  . f90-mode) 
         ("\\.F90\\'"  . f90-mode) 
         ("\\.el\\'"  . emacs-lisp-mode) 
         ("\\.emacs\\'" . emacs-lisp-mode) 
         ("\\.tex\\'"  . LaTeX-mode) 
         ("\\.bib\\'"  . bibtex-mode) 
         ("[Mm]akefile\\'" . makefile-mode) 
         ("\\.mak\\'"  . makefile-mode) 
         ("\\[Mm]akefile.\\'" . makefile-mode) 
         ("\\.bat\\'"  . shell-script-mode) 
         ("\\.tar\\'"  . tar-mode) 
         ("\\.php\\'"  . php-mode) 
         ("\\.html\\'"  . html-mode) 
         ("\\.jnlp\\'"  . html-mode) 
         ("\\.xml\\'"  . html-mode) 
         ("\\.pddl\\'"  . lisp-mode) 
         ("\\.css\\'"  . css-mode) 
         ("\\.py\\'"  . python-mode) 
         ("\\.yml\\'"  . yaml-mode) 
         ("\\.lisp\\'"  . lisp-mode))) 
2

Sie müssen die Umgebungsvariable TERM wie so (unter der Annahme, Bash-Shell) setzen:

export TERM = "xterm-256color"

Wenn Sie Emacs von innen laufen Bildschirm, müssen Sie in ähnlicher Weise zu Ihrem .screenrc hinzufügen.

Begriff Bildschirm-256color

Wenn dies nicht funktioniert, kann es sein, dass Ihr System die entsprechende Termcap nicht installiert ist. Auf einem deb/ubuntu-System, zum Beispiel, würde müssen Sie:

apt get-install ncurses-term

ich auf einem rpm-basiertes System nicht sicher bin, aber stellen Sie sicher, dass ncurses und termcap Eingerichtet.