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

问题描述

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

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

解决方法

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

Vim 配色方案可以具有以下任何属性,单独或组合......

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

    您可以期待这些配色方案在大多数终端模拟器中都能正常运行。

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

    如果您的 $TERM 环境变量设置为以 256color 结尾的值,xterm-256color 是最常见的正确值,您可以期待这些配色方案在许多终端模拟器中都能很好地工作。>

  • GUI 友好的配色方案 使用十六进制值(如 HTML/CSS)以获得最佳体验。如果一个配色方案是 GUI 友好的,它会自动成为真彩色友好的,这使得它适合在支持所谓的“真彩色”功能的终端模拟器中使用。

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

配色方案的作者通常对这些事情很清楚,因此您应该能够通过阅读它的 README 来判断配色方案是否符合您的需求。如果不是这种情况,您可以尝试在代码中查找这些提示:

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

    请注意,名称符号比数字符号更便于携带。

  • ctermbgctermfg 设置为数字 0-255 表示颜色方案是 256 色友好的。

  • guibgguifg 表示颜色方案是 GUI 友好的/真彩色友好的。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...