无法通过覆盖 terminfo 在 tmux 中启用 TrueColor 支持

Ant*_*kov 7 vim tmux xterm

dist:Arch Linux。

我有一个来自 AUR 的 st build 和来自官方 repo 的 tmux。在 st 我遇到了一个很好的 TrueColor 支持,它通过 termguicolors 选项与最后一个 Vim 版本一起使用。但是当我尝试将其引入 tmux 时,我遇到了一些问题。

第一次输出

tmux info | grep Tc
Run Code Online (Sandbox Code Playgroud)

从 tmux 内部是

197: Tc: [missing]
Run Code Online (Sandbox Code Playgroud)

阅读 tmux 手册页后,我发现此选项必须带入 tmux Tc

set-option -g terminal-overrides "st-256color:Tc"
Run Code Online (Sandbox Code Playgroud)

它从我的终端模拟器返回我的位置:

TERM=st-256color 
Run Code Online (Sandbox Code Playgroud)

但是 tmux info 的结果还是一样。只是为了检查,我安装了 xterm 并尝试了相同的操作,但它没有给我另一个结果。毕竟tmux识别终端支持256色并通过它模拟真彩色

Tho*_*key 4

您可以修改终端描述的副本以提供此标志:

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo
Run Code Online (Sandbox Code Playgroud)

这适用于 ncurses(这是任何 Linux 发行版都有的),也许还有NetBSDcurses。