我在vimrc中设置了一个配色方案。当我设置它并将术语变量设置为xterm-256color时,我只在文本上有背景颜色。然后我找到了将术语变量设置为screen-256color的解决方案,但这只允许背景填充文件中的文本而不是下面的空白区域。有人有解决方案吗?我在下面附上了两个截图:
我在vimrc中设置了一个配色方案。当我设置它并将术语变量设置为xterm-256color时,我只在文本上有背景颜色。然后我找到了将术语变量设置为screen-256color的解决方案,但这只允许背景填充文件中的文本而不是下面的空白区域。有人有解决方案吗?我在下面附上了两个截图:
Answers:
从您的屏幕截图中,看起来您正在使用cmd.exe应用程序并使用Win10中的Windows子系统Linux(WSL)功能中的vim。根据您当前所在的构建,您可能会或可能不会完全支持所需的色彩空间(包含任何字符的行之外)。
直到最近,cmd.exe仅支持16种颜色。因此,在vimrc中设置t_Co = 256(或等效)意味着您的256色colorscheme应近似为16色调色板中最接近的颜色。 2016年9月,WSL for Win10的开发者宣布支持24位真彩色跨越256种颜色。你可以阅读它 这里 。但是,控制台属性中没有可公开访问的设置来更改颜色方案。
另外,Win10开发人员决定用PowerShell替换cmd.exe 默认 命令行应用程序,虽然微软后来在博客文章中澄清说cmd.exe将继续包含在操作系统中,并且没有计划弃用它。 Powershell的默认colorscheme仅支持16位颜色。有一个功能请求可以为powershell提供更多颜色支持,您可以在Powershell的github问题页面中阅读它。
对你来说,一个解决方案是使用Vim的原生windows构建(可在巧克力版本中使用,也可以从官方github页面和其他一些来源获得),并使用gvim,它在24位渲染时不会有任何问题。颜色。