在我的 tmux 配置中,我有以下内容:
set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ',*-256color*:Tc'
Run Code Online (Sandbox Code Playgroud)
这意味着如果我运行tmux info | grep Tc
检查真彩色支持,它会工作并显示已启用。echo $TERM
在 tmux 中screen-256color
按预期给出。
正如我从 tmux 手册中了解到的,终端覆盖匹配上的终端名称*-256color*
,这是有道理的。
不过,我不明白的是,下列哪项不工作/匹配:
set-option -ga terminal-overrides ',*screen-256color*:Tc'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么不?这是怎么回事?
tmux 版本 2.9a
(旁白:如果你想知道为什么我使用screen-
而不是,说tmux-
这是因为 neovim 似乎需要它来检测真彩色支持)
它们是完全独立的,default-terminal
从不检查terminal-overrides
。
default-terminal
是用于TERM
内部 tmux的默认值,因此应该匹配screen*
或tmux*
。这告诉 tmux 内部的应用程序 tmux 本身的功能是什么。
terminal-overrides
匹配TERM
外部 tmux 并允许您修改 tmux 在与运行它的终端通信时使用的功能。
大概*-256color
匹配,因为您将TERM
外部设置为匹配但不匹配的内容screen-256color*
(可能xterm-256color
)。
如果您想要terminal-overrides
tmux 内的应用程序的等效项(修改 tmux 内的 terminfo(5) 条目的功能),您将需要在您正在使用的应用程序中查找配置选项,或者基于tmux-256color
或screen-256color
使用 infocmp构建您自己的条目(1) 和 tic(1)。
归档时间: |
|
查看次数: |
2817 次 |
最近记录: |