8

当我emacs -nw在 X 终端窗口中运行并请求 时M-x list-colors-display,我得到了一个微不足道的调色板:

black                                                     
red    
green  
yellow 
blue   
magenta
cyan   
white  

我被告知有可能获得 265 种颜色。将TERM环境变量设置为xterm-256color不会完成这项工作。有什么作用?

4

3 回答 3

4

据此除了ncurses-term设置TERMxterm-256color.

好的,还有一些其他的尝试,比如:

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
于 2009-03-26T03:41:16.823 回答
3

设置TERMxterm-256color 您想要做的。此外,Emacs 22(至少)不需要我的任何特殊配置来显示 256 色。请参阅此相关问题。安装ncurses-term软件包后,我可以使用我的 Ubuntu 版本附带的 vanilla xterm 在 Emacs 上获得 256 种颜色(在这种情况下是 Interpid,但我猜它在早期版本上会很好)。我还使用 Gnome Terminal、Konsole 和 PuTTY 获得了 256 种颜色,物有所值。

于 2009-03-26T05:35:07.033 回答
0

当我用谷歌搜索这个时,我得到的印象是大多数发行版在打包的终端模拟器中没有启用 256 色支持。

我怀疑如果你继续看,你可能会得出和我一样的结论。最好的答案是下载urxvt并在所有花里胡哨的情况下自行编译。

我使用的是 vim,所以可能还有其他特定于 emacs 的依赖项/陷阱,但我很确定支持 256 色的终端很重要。

于 2009-03-26T03:50:44.163 回答