【问题标题】:vim colorschemes not displaying properlyvim 颜色方案无法正确显示
【发布时间】:2019-08-22 19:22:33
【问题描述】:

我在默认的 Mac 终端中运行 vim,我正在尝试将配色方案更改为包含的配色方案之一,但它们似乎都没有正确显示。

例如,如果我输入 :colorscheme blue,颜色会发生变化,但背景周围会出现白色边框。

另外,如果我输入 :colorscheme Desert,这是我想要使用的配色方案,语法高亮会发生变化,但背景颜色不会。

请注意,沙漠配色方案表面上应该是这样的:

为什么这些配色方案无法正常显示,有没有办法解决?谢谢!

【问题讨论】:

  • 简短的回答是,如果您使用 gvim(或 mac 上的 macvim),您的配色方案可能会正常工作。更长的答案是终端中的 vim 使用该终端中可用的颜色。有关于你的终端是使用 16 还是 256 或 16 位颜色的设置,还有关于 vim 是否知道你的终端可以使用多种颜色的设置。人们有时会做的一件事是改变他们的终端颜色方案,这作为副产品会改变 vim 的颜色方案。
  • 提示给像我这样的人,他们发现在 gitbash/mintty 中的 vim 中某些语法突出显示非常难以阅读。您可以通过“选项”菜单切换 mintty 主题(单击左上角或按 ALT+SPACE 然后选择“选项”。在“外观”部分下,您可以选择不同的主题。对我来说,rosipov 与我正在尝试编辑的 python 代码配合得很好.hth

标签: vim color-scheme


【解决方案1】:

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

一些配色方案有多种选择,可以尝试在各种设置中重现设计师想要的内容。例如,我使用的颜色方案有一个基本部分,其中包含所有颜色设置,然后是 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 色终端的人仍然可以接近颜色方案作者的意图,因为 256 色终端无法绘制 RRGGBB 颜色。

同样,colorschemes 可以尊重 background 并将它们使用的颜色更改为在该背景颜色上可见(例如,深色终端没有深蓝色的 cmets)。

最后,vim 仅尝试在可以绘制字符的地方绘制背景,即仅在屏幕的可打印区域。例如,如果您的终端宽度在 64 和 65 COLUMNS 之间,那么 vim 只能绘制 64 个字符,并且在 vim 不会尝试绘制的边缘周围会有一些空间,从而保留终端的默认背景。

在 Mac 的 Terminal.app 上,更改背景颜色的最简单方法是转到 Preferences -> Profiles 并选择默认主题或编辑 Background “颜色和效果”部分你想要什么。

【讨论】:

    猜你喜欢
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多