我正在寻找一种在使用图形终端仿真器时在emacs中拥有24位颜色的好方法。 例如,Konsole确实支持真彩色转义码,如下所示:https://github.com/robertknight/konsole/blob/master/user-doc/README.moreColors
我的问题是我不明白emacs如何将面部信息转换为终端的转义序列。我也没有管理是否存在对24位颜色的支持,或者是否可以用emacs lisp实现它。我要求的是指向相关Emacs文档的指针,或关于终端emacs中的真彩色是否可行的明智意见。
答案 0 :(得分:4)
最近包含在emacs 26。1(2018年5月28日),
使用此文件:terminfo-24bit.src
# Use colon separators.
xterm-24bit|xterm with 24-bit direct color mode,
use=xterm-256color,
setb24=\E[48:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm,
setf24=\E[38:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%dm,
# Use semicolon separators.
xterm-24bits|xterm with 24-bit direct color mode,
use=xterm-256color,
setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
执行命令
tic -x -o ~/.terminfo terminfo-24bit.src
现在您可以使用truecolor启动emacs。
TERM=xterm-24bit emacs -nw
请参阅常见问题:https://www.gnu.org/software/emacs/draft/manual/html_mono/efaq.html#Colors-on-a-TTY
答案 1 :(得分:3)
AFAIK没有内置支持,因为终端中的24位色彩空间非常罕见(!?)。但是,鉴于Emacs向您开放add your own terminal support,您可以尝试编写类似于xterm-frobs.el
的包。
顺便说一句,如果您只需要在终端中使用好的颜色主题,您可以尝试将GUI颜色主题转换为终端的包https://github.com/tungd/color-theme-approximate。
答案 2 :(得分:1)
我使用xterm-frobs.el获得256色项支持(在xterm兼容终端中,如konsole)。我使用TERM设置“xterm-256color”。 256色支持通常对我来说已经绰绰有余了,因为在我的配色方案中我没有使用 多种颜色。上述文件试图询问终端以找出它支持的颜色数量。我不知道它是否应该(或可以适应)能够在konsole中做真正的颜色支持。
答案 3 :(得分:0)