终端Emacs中的真彩色(24位)

gre*_*rep 3 emacs terminal konsole

我正在寻找一种使用图形终端模拟器时在emacs中具有24位颜色的好方法。例如,Konsole确实支持真彩色的转义码,如此处所述:https : //github.com/robertknight/konsole/blob/master/user-doc/README.moreColors

我的问题是我不了解emacs如何将人脸信息转换为终端的转义序列。我也没有管理是否在某处支持24位颜色,或者是否有可能使用emacs lisp来实现它。我要提供的是指向相关Emacs文档的指针,或者是有关在当前终端马克中使用真彩色是否可行的见解。

ide*_*n42 7

最近包含在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,
Run Code Online (Sandbox Code Playgroud)

跑:

tic -x -o ~/.terminfo terminfo-24bit.src
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用truecolor启动emacs。

TERM=xterm-24bit emacs -nw
Run Code Online (Sandbox Code Playgroud)

请参阅常见问题解答:https : //www.gnu.org/software/emacs/draft/manual/html_mono/efaq.html#Colors-on-a-TTY


jta*_*orn -1

我使用xterm-frobs.el获得 256 种颜色术语支持(在 xterm 兼容终端中,如 konsole)。我使用术语设置“xterm-256color”。256 色支持通常对我来说已经足够了,因为我在配色方案中不使用那么多颜色。上述文件尝试询问终端以找出它支持多少种颜色。我不知道它是否应该(或可以适应)能够在 konsole 中提供真彩色支持。

更新:请注意,从版本 26.1 开始,emacs 现在支持真彩色终端。请参阅下面的答案以了解更多详细信息。