当我在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
设置TERM
到xterm-256color
是你想要做的。 此外,Emacs 22(至少)不需要我的任何特殊的配置,以显示256色。 看到这个相关的问题 。 在安装了ncurses-term
软件包的情况下,我可以使用我的Ubuntu版本(Interpid,在这种情况下,但我猜测在早期版本中可以使用)随附的vanilla xterm在Emacs上获得256种颜色。 我也用Gnome Terminal,Konsole和PuTTY获得了256种颜色,这是值得的。
当我GOOGLE了这个,我得到的印象是,大多数发行版不启用打包的终端仿真器中的256色支持。
我怀疑,如果你继续看,你可能会得出和我一样的结论。 最好的答案是下载urxvt ,并开启所有的钟声和哨声来编译它。
我使用的是vim,因此可能会有其他的emacs特定的依赖关系/陷阱,但是我确定支持256色的终端非常重要。