默认终端与 tmux 终端覆盖相比如何

默认终端与 tmux 终端覆盖相比如何

在我的 tmux 配置中,我有以下内容:

set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ',*-256color*:Tc'

这意味着如果我运行tmux info | grep Tc检查真彩色支持,它会起作用并显示“已启用”。echo $TERMtmux 内部给出了screen-256color预期的结果。

据我从 tmux 手册中了解到,terminal-overrides 与 上的终端名称匹配*-256color*,这是有道理的。

然而,我不明白的是是以下内容不是工作/比赛:

set-option -ga terminal-overrides ',*screen-256color*:Tc'

我不明白为什么不呢?这是怎么回事?

tmux 版本 2.9a

(旁白:如果你想知道为什么我使用screen-而不是,说tmux-这是因为 neovim 似乎需要它来检测真彩色支持)

答案1

它们是完全独立的并且default-terminal从不进行检查terminal-overrides

default-terminal是用于TERM内部 tmux 的默认值,因此应该匹配screen*or tmux*。这告诉 tmux 内部的应用程序 tmux 本身的功能是什么。

terminal-overrides与 tmux 外部匹配TERM,并允许您修改 tmux 与运行它的终端通信时使用的功能。

大概*-256color匹配,因为您将TERM外部设置为匹配但不匹配的内容screen-256color*(可能xterm-256color)。

如果您想要 tmux 内的应用程序的等效项terminal-overrides(修改 tmux 内 terminfo(5) 条目的功能),您将需要在您正在使用的应用程序中查找配置选项,或者基于tmux-256colorscreen-256color使用 infocmp构建您自己的条目(1)和抽动(1)。

相关内容