如何设置我的Linux Xterminal,以便Emacs可以访问256种颜色?

当我在Xterminal窗口中运行emacs -nw ,并且要求Mx list-colors-display ,我提供了一个微不足道的调色板:

 black red green yellow blue magenta cyan white 

我被告知有可能获得265种颜色。 将TERM环境variables设置为xterm-256color不会执行该任务。 什么?

据此,除了将TERM设置为xterm-256color之外,还需要ncurses-term库。

好吧, 这还有其他一些事情要尝试:

 The xterm in Ubuntu Edgy does not advertise 256 color support by default. To fix this you need to install a 256 color terminfo entry, and tell xterm to use it: apt-get install ncurses-term echo XTerm.termName: xterm-256color \ >>~/.Xdefaults xrdb -merge ~/.Xdefaults 

和:

 So you need a file term/screen-256color.el in your load-path. Emacs 22 expects it to contain a terminal-init-screen defun. Emacs 21 expects it to contain a bunch of top-level forms. Here's what I use: ;;; This is for GNU Emacs 22 (defun terminal-init-screen () "Terminal initialization function for screen." ;; Use the xterm color initialization code. (load "term/xterm") (xterm-register-default-colors) (tty-set-up-initial-frame-faces)) ;;; This is for GNU Emacs 21 (if (= 21 emacs-major-version) (load "term/xterm-256color")) For Emacs 21, you also need to install the xterm-256color.el file from http://www.splode.com/~friedman/software/emacs-lisp/src/term/xterm-256color.el 

设置TERMxterm-256color 你想要做的。 此外,Emacs 22(至少)不需要我的任何特殊的配置,以显示256色。 看到这个相关的问题 。 在安装了ncurses-term软件包的情况下,我可以使用我的Ubuntu版本(Interpid,在这种情况下,但我猜测在早期版本中可以使用)随附的vanilla xterm在Emacs上获得256种颜色。 我也用Gnome Terminal,Konsole和PuTTY获得了256种颜色,这是值得的。

当我GOOGLE了这个,我得到的印象是,大多数发行版不启用打包的终端仿真器中的256色支持。

我怀疑,如果你继续看,你可能会得出和我一样的结论。 最好的答案是下载urxvt ,并开启所有的钟声和哨声来编译它。

我使用的是vim,因此可能会有其他的emacs特定的依赖关系/陷阱,但是我确定支持256色的终端非常重要。