vim colorschemes无法正确显示

时间:2019-04-01 15:09:44

标签: vim color-scheme

我在默认的Mac终端中运行vim,并且试图将颜色方案更改为所包含的颜色方案之一,但它们似乎都无法正确显示。

例如,如果我输入:colorscheme blue,颜色会改变,但是背景周围会有白色边框。

enter image description here

此外,如果键入:colorscheme desert(这是我要使用的配色方案),则突出显示的语法会更改,但背景颜色不会更改。

enter image description here

请注意,沙漠颜色方案表面上看起来应该像这样: enter image description here

为什么这些配色方案无法正确显示,并且有解决方法?谢谢!

1 个答案:

答案 0 :(得分:2)

vim的set background={light|dark}不是为更改您的背景色而设计的,它旨在与您现有的背景色配合使用,并为您提供显示在该背景上的颜色。

某些色彩设计有多种选择,可以尝试再现设计师在各种设置中想要的东西。例如,我正在使用的colorscheme的基本部分包含所有颜色设置,后跟256个特定颜色的部分:

....
hi LineNr          guifg=#465457 guibg=#232526
if &t_Co > 255
    hi Normal       ctermfg=252 " ctermbg=232
    hi CursorLine               ctermbg=234   cterm=none
    ...

根据具有256色端子的颜色来设置所有颜色,因此具有256色端子的人仍然可以接近colorcheme作者的意图,因为256色端子不能绘制RRGGBB颜色。

同样,colorchemes可以尊重background并更改其使用的颜色以使其在该背景色上可见(例如,暗端不带有深蓝色注释)。

最后,vim仅尝试绘制可绘制字符的背景,即仅屏幕的可打印区域。例如,如果您的终端宽度为64到65 COLUMNS之间,则vim只能绘制64个字符,并且在边缘周围会有一些空间,vim不会尝试绘制,因此保留了终端的默认设置背景。

在Mac的Terminal.app上,更改背景颜色的最简单方法是转到“偏好设置”->“配置文件”,然后选择默认主题或将背景“颜色和效果”部分编辑为你想要什么。