当我在X终端窗口中运行emacs -nw
时,我要求M-x list-colors-display
,我会得到一个微不足道的调色板:
black
red
green
yellow
blue
magenta
cyan
white
我被告知可以获得265种颜色。将TERM
环境变量设置为xterm-256color
不起作用。是什么?
答案 0 :(得分:4)
根据this,除了将ncurses-term
设置为TERM
之外,您还需要xterm-256color
库。
好的,this还有其他一些尝试:
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
答案 1 :(得分:3)
将TERM
设置为xterm-256color
是您想要做的事情。此外,Emacs 22(至少)不需要我的任何特殊配置,以显示256种颜色。见related question。安装了ncurses-term
软件包,我可以使用我的Ubuntu版本附带的vanilla xterm在Emacs上获得256种颜色(Interpid,在这种情况下,但我猜它在早期版本中会没问题) )。我还使用Gnome Terminal,Konsole和PuTTY获得了256种颜色,这是值得的。
答案 2 :(得分:0)
当我用Google搜索时,我得到的印象是大多数发行版都没有在打包的终端模拟器中启用256色支持。
我怀疑如果你继续看,你可能会得出与我相同的结论。最好的答案是下载urxvt并自行编译,并打开所有的铃声和口哨声。
我使用的是vim,所以可能还有其他特定于emacs的依赖项/陷阱,但我很确定支持256种颜色的终端很重要。