在我的 tmux 配置中,我有以下内容:
set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ',*-256color*:Tc'
这意味着如果我运行tmux info | grep Tc
检查真彩色支持,它会起作用并显示“已启用”。echo $TERM
tmux 内部给出了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-256color
或screen-256color
使用 infocmp构建您自己的条目(1)和抽动(1)。