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

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

发行版:Arch Linux。

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

第一次输出

tmux info | grep Tc

从 tmux 内部是

197: Tc: [missing]

阅读 tmux 手册页后我发现这个选项必须带到 tmux Tc

set-option -g terminal-overrides "st-256color:Tc"

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

TERM=st-256color 

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

答案1

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

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo

这适用于 ncurses(这是任何 Linux 发行版都有的),并且也许NetBSD 的诅咒。

答案2

您需要添加-a附加功能,而不是覆盖现有的终端功能:

set-option -ga terminal-overrides ",*256*:Tc"

这适用于任何宣传 256 色的终端。

set -g terminal-overrides检查您的配置文件中稍后是否还有其他内容。


对于vim,您可能还需要:

set -g default-terminal "screen-256color"

相关内容