¿Cómo puedo configurar los colores de Emacs correctamente?
-
16-09-2019 - |
Pregunta
He creado dos versiones:
My computer apt-get emacs 23.0.91
Remote server yum emacs 21.4
He descargado el color-theme-6.6.0, poner los archivos en / usr / share / emacs / -version- / Lisp /, y tengo esto en mi .emacs:
(require 'color-theme)
(color-theme-initialize)
(color-theme-midnight)
Ejecución de emacs en un terminal, todos los colores aparecen correctamente en mi equipo, pero en el servidor, solo me dan dos colores ??? El fondo es un color, y el texto es otro, no importa qué tema que yo elija. No hay errores aparecen cuando comienzo emacs.
¿Alguna sugerencia?
Solución
Para poder utilizar el resaltado de sintaxis en un Unix / Linux caja que necesita ya sea un terminal que admite color. Algunos sistemas AIX (para mí) requieren un archivo TERMINFO generada por tic en un xterm-color.tic archivo. Aquí está un recorte:
setenv TERMINFO /home/cfl/lib/terminfo
tic xterm-color
setenv TERM xterm-color
Una vez más, lea la artículo Unix y color de resaltado para todos los detalles.
Por otro lado, esto es lo que mi .emacs archivo contiene para el ajuste de color (sobre un fondo oscuro).
;; 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)))
Otros consejos
Es necesario establecer la variable de entorno TERM como tal (suponiendo shell bash):
export TERM = "xterm-256color"
Si está ejecutando emacs desde dentro de la pantalla, tendrá que añadir lo siguiente a su .screenrc de manera similar.
término pantalla-256color
Si esto no funciona, puede ser debido a que su sistema no tiene instalado el termcap apropiado. En un sistema deb / Ubuntu, por ejemplo, tendría que:
apt-get install ncurses plazo
No estoy seguro en un sistema basado rpm pero asegúrese de que ncurses y termcap instalados.
http://www.fleiner.com/vim/xterm-color.tic
En AIX:
su -
tic xterm-color.tic
alias emacs='TERM=xterm-color emacs'