WSL:为终端 vim 安装的配色方案无法正常工作

WSL: Installed colorscheme for terminal vim not working properly

我是 WSL 和 vim 的新用户,我想为终端 vim 安装一个新的配色方案。我执行标准步骤:创建一个 ~/.vim/colors 目录,然后将 theme.vim 文件移到那里。当我打开 vim 时,我可以使用 :colorscheme select 它们,但我得到的主题与我安装的主题完全不同。我现在已经尝试了三个不同的主题,none 其中的主题按预期工作。

这里有人知道这是什么原因吗?

Tl;dr:确保配色方案适合您的环境。

Vim colorschemes 可以具有以下任何属性,单独或组合......

  • 8/16color-friendly colorschemes 使用终端仿真器的基于 0 的 16 色调色板。由于各种终端仿真器具有不同的默认值,并且该调色板是用户可配置的,因此无法准确预测它的外观。

    您可以期望这些配色方案在大多数终端仿真器中都能很好地工作。

  • 256color-friendly colorschemes 使用半标准化的基于 0 的 256 色调色板,其中较低的 16 个索引对应于上述 16 色调色板。这意味着可以合理地预期颜色 16 到 255 在现代终端仿真器中看起来相同。

    如果您的 $TERM 环境变量设置为以 256color 结尾的内容,您可以期望这些配色方案在许多终端仿真器中运行良好,xterm-256color 是最常见的正确值。

  • GUI 友好的配色方案 使用像 HTML/CSS 中那样的十六进制值以获得最佳体验。如果 colorscheme 是 GUI 友好的,它自动是 true-colors-friendly,这使得它适合在支持所谓的“真彩色”功能的终端仿真器中使用。

    如果您使用 GUI Vim,那么您不必担心这些配色方案的任何问题。如果您在终端仿真器中使用 Vim,则必须检查它是否支持“真彩色”功能,如果支持,请在 Vim 和 :help 'termguicolors' 中启用它。

Colorscheme 作者通常会明确说明这些事情,因此您应该能够通过阅读其 README 来判断某个 colorscheme 是否符合您的需求。如果不是这种情况,您可以尝试在代码中寻找这些提示:

  • ctermbgctermfg 仅设置颜色名称或数字 0-15 表示颜色方案是 8/16 颜色友好的。

    请注意,名称表示法比数字表示法更便于携带。

  • ctermbgctermfg 设置为数字 0-255 表示配色方案是 256color-friendly。

  • guibgguifg 存在意味着配色方案是 GUI-friendly/true-color-friendly.