OSX Terminal/Vim 语法颜色

OSX Terminal/Vim Syntax Colors

我最近花了很多时间检查我的 Vim 和 Tmux 配置,试图改进我的工作流程,但我遇到了一个(小但烦人的)问题,这让我很困惑。我目前正在使用 OSX,但我遇到了与 Windows' terminal/powershell.

相同的问题

我的问题是我无法更改出现在默认 vim 语法突出显示中的 brown 颜色,我使用的许多语言都使用这种颜色。我的颜色说到可以看这个vim colortest:

在默认 OSX 终端(和 powershell)中,您可以通过终端首选项设置 ANSI 颜色,但是,brown 颜色不包含在 GUI 配置选项中。这导致一些丑陋的语法突出显示不符合我想要的配色方案:

我的问题是,更改此默认颜色的最便携方法是什么?我希望能够在我的 .vimrc 中做一些事情来解决这种丑陋的颜色,这样我就不必为我可能使用的任何系统重新配置颜色,但我知道这可能是不可能的.另一种方法是更改​​语法高亮颜色,但我对此的调查没有结果。

谢谢!

附录: 在 OSX 配置文件中选择的屏幕截图颜色:

遗憾的是,默认的 Vim 配色方案并不像人们希望的那样整洁。在这种情况下,Brown 是一个有点“包罗万象”的名字,最终在不同的上下文中有不同的解释。

  • 在GUI Vim中,Brown指的是X11的rgb.txt中的“棕色”:#A52A2A
  • 在带有 &t_Co == 256 的 TUI Vim 中,您会得到 #af5f00,也就是“xterm 调色板”中的 130
  • 在带有 &t_Co == 16&t_Co == 8 的 TUI Vim 中,您将获得终端调色板的“黄色”,又名 3

看来你是受了第二种情况的影响。

虽然存在批量更改所谓的“xterm 调色板”的方法,但您将很难以直接、简洁的方式更改特定颜色。

你能做什么……

  • 执行 :set background=dark 以强制 Vim 使用不包括“棕色”的一组不同的默认颜色。
  • 选择不使用该特定颜色的内置或第三方配色方案。
  • 按照 in this gist with whatever color you want from the xterm palette 的说明覆盖 Statement 突出显示组。