如何正确设置Emacs颜色?

时间:2009-07-15 17:55:21

标签: emacs colors color-scheme

我设置了两个版本:

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

我已经下载了color-theme-6.6.0,将这些文件放在/ usr / share / emacs / -version- / lisp /中,我在.emacs中有这个:

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

在终端中运行emacs,所有颜色都在我的计算机上正确显示,但在服务器上,我只得到两种颜色???无论我选择什么主题,背景都是一种颜色,文字是另一种颜色。我启动emacs时没有出现错误。

有什么建议吗?

3 个答案:

答案 0 :(得分:6)

Unix and Color Highlighting转发:

为了能够在Unix / Linux盒子上使用语法高亮,你需要一个支持颜色的终端。某些系统(AIX for me)需要在xterm-color.tic文件上由tic生成的TERMINFO文件。这是一个剪辑:

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

再次阅读Unix and Color Highlighting文章了解所有细节。


另一方面,这是我的 .emacs 文件中包含的用于设置颜色的内容(在深色背景上)。

;; 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)))

答案 1 :(得分:2)

你需要像这样设置环境变量TERM(假设是bash shell):

  

导出TERM =“xterm-256color”

如果您在屏幕内运行emacs,则必须同样将以下内容添加到.screenrc中。

  

术语screen-256color

如果这不起作用,可能是因为您的系统没有安装适当的termcap。例如,在deb / ubuntu系统上,你必须:

  

apt-get install ncurses-term

我不确定基于rpm的系统,但要确保安装了ncurses和termcap。

答案 2 :(得分:0)

使用http://www.fleiner.com/vim/xterm-color.tic

在AIX上:

su -
tic xterm-color.tic
alias emacs='TERM=xterm-color emacs'