st 终端:无法区分 ctermfg=7 和 ctermfg=15

st 终端:无法区分 ctermfg=7 和 ctermfg=15

我注意到,默认config.h为 st 时,当我尝试调用viminside时st,白色ctermfg=7ctermfg=15.

在这里,我预计7会有更少的白色,15但我认为没有什么区别:hi

如何改变这种行为?

已解决:我更改数组中的正确颜色colorname并重建。

答案1

% infocmp -1 st|grep -E '(颜色|setaf)'
        颜色#8,
        setaf=\E[3%p1%dm,
%

简单终端的 terminfo 数据库条目告诉世界它支持 8 种颜色,并且没有提供指定超过 8 种颜色的机制。这个世界包括 VIM 和所有其他使用 terminfo 的程序。

% infocmp -1 st-256color|grep -E '(颜色|setaf)'
st-256color|stterm-256color|simpleterm 具有 256 种颜色,
        颜色#256,
        setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1 %d%;米,
%

如果您想让(使用术语信息的部分)世界相信简单终端支持 256 种颜色,并告诉它如何使用这 256 种颜色,您需要指定不同的终端类型。

相关内容