检测终端中可用颜色的最优雅方法是在vim中使用colorschemes吗?

Som*_*DOS 6 vim bash shell terminal colors

我想知道是否可以在终端中检测到vim被调用的可用颜色,因此我可以为每种颜色情况选择不同的颜色方案.

这与检查&t_Co变量不同.有时候我用8种颜色打开一个vim,并且可以设置t_Co=256使用一些colorschemes,但有时候(就像在Mac中的Terminal.app中),设置这个变量不会引发错误但是t_Co因为Terminal.app的颜色限制而没有改变是16岁.

事实是:我只是通过经验知道这个限制,我想知道是否可以通过调用函数(if terminal_supports > 256)或类似的东西来了解这个值.

我可以只使用viml函数来做,或者我需要创建一些bash脚本并从vimrc调用它们吗?我想在Linux,Mac和Windows(也使用Cygwin)中获得这些信息.

(如果我出于某种原因,无法从系统中获取此信息,是否有表格或vim帮助了解有关不同终端及其颜色功能的一些信息?如果是这样,那么我可以创建一个包含所有终端的哈希表颜色能力.)

Her*_*itz 3

另一种尝试:如果您还没有找到的话,这里有一些信息,包括链接页面底部的信息链接:

256_颜色_in_vim

据我所知,Vim 从 termcap 获取 t_Co 编号。因此,如果您可以从 termcap 获取值以准确反映支持的最大颜色,那么您就设置好了。我认为这就是链接页面中信息的作用,至少对于 256 种颜色术语是这样。。。