【问题标题】:How to detect if "&t_Co" is "defined" in my .vimrc?如何检测我的 .vimrc 中是否“定义”了“&t_Co”?
【发布时间】:2010-12-06 11:57:17
【问题描述】:

当我在我的 Vim 中 :echo &t_Co 时,它会显示我的终端颜色。如果我在我的 gVim 中:echo &t_Co,则什么都不会显示(因为我不在终端中)。

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

【问题讨论】:

    标签: terminal vim


    【解决方案1】:
    if !empty(&t_Co)
        " t_Co is set to a non-empty value
    endif
    

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

    【讨论】:

    • 正是我想要的。还有一个问题:是否有可能知道终端在某种条件下可以拥有的最大颜色数?
    • :set t_Co= 接受任何整数,但 XTerm 只能显示 256 种(或 16 种,取决于配置)颜色。
    • 是否有可以运行并检测终端可以拥有的最大颜色的功能?这会很有趣,因为我正在尝试创建一个在 mac 终端、linux 终端、gvim 等中使用的 vimrc。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多