我可以让 Vim 适应基于“电源”、“监视器输出”的不同配色方案吗?

我可以让 Vim 适应基于“电源”、“监视器输出”的不同配色方案吗?

挑战/用例描述

当我换了一台 CPU 很棒但显示器很差的新笔记本电脑时,我想background在外出时将笔记本电脑限制为“黑暗”。但是,我大部分时间都把笔记本电脑放在底座上,因此使用的是我常用的显示器。

这是我常用的适应background一天中不同时间的设置:dark晚上和light白天。我本来可以做得更好,但效果很好。

if has("gui_running")
    " My time-keeper and eye-saver
    if strftime("%H") < 6  
        set background=dark
    elseif strftime("%H") >18
        set background=dark
    else
        set background=light
    endif
else
    set background=dark
endif

问题:

  1. 是否存在我可以调用/指定来指示显示监视器的条件?
  2. 或者说,反映电源状态的条件?

潜在解决方案(有待实施)

  1. 作为 @七水硫酸盐建议,一个返回有关系统信息的 Windows 命令行工具应该可以解决问题。下面是最接近解决问题的方法:

    • 报告/打印/显示“当前”显示器的屏幕分辨率:
    • 我尝试!wmic path Win32_VideoController get CurrentHorizontalResolution,CurrentVerticalResolution通过 Vim 原生的命令行来运行,但是会弹出一个额外的命令提示符窗口。
    • 正式解决方案(待定)1366 * 768:这个屏幕应该可以很好地识别笔记本电脑在其小型显示器上的状况。
  2. 应该还有其他方法来识别电池来源,但我无法重现任何接近如上所示的屏幕分辨率识别的东西。

相关内容