TERM
被设置为屏幕。我尝试过screen-256color
,但是颜色消失了真的坚果。我也尝试过xterm
、linux
和其他一些(我能想到的,但没有真正想到的),但这screen
是我得到的最接近的 - 尽管不完全 - “纯” tty Emacs 颜色。
如下所示,颜色工作(顶部窗口),只是由于某种原因,在 Emacs-w3m 的情况下,它们显示为青色。
另外,可能相关的是,我拥有的块纯色光标被下划线取代。我更喜欢变色块光标 - 最重要的是因为它在搜索后更容易发现。 (注意:下面没有显示光标问题,因为我使用 shell 命令来获取屏幕截图。)
答案1
您使用的终端仿真器也可能与颜色有关。我在 256 颜色模式下使用 vim 时遇到了颜色问题,最终导致 KDE 的 konsole 终端仿真器更改了默认颜色,这使得 vim 颜色主题变得很混乱。
我最终不得不手动将颜色设置为预期的颜色才能使其正常工作。
我在以下方面运气最好:
- 屏幕-256 色
- 强制 tmux 采用 256 色:tmux -2
- 使用 urxvt 作为终端
- 并将以下内容添加到 .Xresources
~/.Xresources
URxvt*background: black
URxvt*foreground: white
URxvt*font: xft: Inconsolata:size=12
URxvt*transparent: false
URxvt*depth: 32
尝试以下脚本来查看您是否确实获得了 256 种颜色。
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo