Terminal 如何检测“是否”&;t"公司";是";定义为;在我的vimrc里?

Terminal 如何检测“是否”&;t"公司";是";定义为;在我的vimrc里?,terminal,vim,Terminal,Vim,当我的Vim中的I:echo&t_Co时,它会显示我的终端颜色。如果我的gVim中有I:echo&t_Co,则不会显示任何内容(因为我不在终端中) 我想在我的vimrc中使用一个条件来检测这种情况(gVim中没有值的&t_Co,我如何测试它?我知道我可以使用has(“gui_running”)来查看我是否在gVim中,但我想知道如何测试像&t_Co这样没有显示任何内容的变量) (exists('&t_Co')没有帮助,因为它确实存在于GVim中,只是空的。) (exists('&t_Co')没有

当我的Vim中的I
:echo&t_Co
时,它会显示我的终端颜色。如果我的gVim中有I
:echo&t_Co
,则不会显示任何内容(因为我不在终端中)

我想在我的vimrc中使用一个条件来检测这种情况(gVim中没有值的&t_Co,我如何测试它?我知道我可以使用has(“gui_running”)来查看我是否在gVim中,但我想知道如何测试像&t_Co这样没有显示任何内容的变量)

exists('&t_Co')
没有帮助,因为它确实存在于GVim中,只是空的。)


exists('&t_Co')
没有帮助,因为它确实存在于GVim中,它只是空的。)

正是我想要的。还有一个问题:是否有可能知道终端在某种条件下可以拥有的最大颜色数?
:set t_Co=
接受任何整数,但XTerm只能显示256(或16,取决于配置)颜色。是否有一个函数可以运行并检测终端可以拥有的最大颜色?这将是有趣的,因为我正在尝试创建一个用于mac终端、linux终端、gvim等的vimrc。这正是我想要的。还有一个问题:是否有可能知道终端在某种条件下可以拥有的最大颜色数?
:set t_Co=
接受任何整数,但XTerm只能显示256(或16,取决于配置)颜色。是否有一个函数可以运行并检测终端可以拥有的最大颜色?这会很有趣,因为我正在尝试创建一个用于mac终端、linux终端、gvim等的vimrc。
if !empty(&t_Co)
    " t_Co is set to a non-empty value
endif