Vim 在 wsl 上显示随机拖尾颜色

Vim showing random trailing colors on wsl

每次我使用来自 Github 的 vim(WSL) 的配色方案时,它通常会在前 10 行内显示一些拖尾颜色,有时会像 [=23= 中那样显示整个代码].起初,我以为它只是突出了尾随空格,但即使在删除它们之后,它也会在更改光标位置时恢复到原来的形式。 vim 很新,所以请帮助我。

我的.vimrc:

set nocompatible
set clipboard=unnamed
set clipboard=unnamedplus
syntax on
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
set shortmess+=I
set number
set termguicolors
set relativenumber
set laststatus=2
set backspace=indent,eol,start
set hidden
set ignorecase
set smartcase
set incsearch
nmap Q <Nop> " 'Q' in normal mode enters Ex mode. You almost never want this.
set noerrorbells visualbell t_vb=
set mouse+=a
colorscheme pablo
nnoremap <Left>  :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up>    :echoe "Use k"<CR>
nnoremap <Down>  :echoe "Use j"<CR>
inoremap <Left>  <ESC>:echoe "Use h"<CR>
inoremap <Right> <ESC>:echoe "Use l"<CR>
inoremap <Up>    <ESC>:echoe "Use k"<CR>
inoremap <Down>  <ESC>:echoe "Use j"<CR>

更新:在弄乱了我每次使用 ^D 或 ^U 上下翻页时都会发生的事情。现在甚至对于内置颜色也会发生这种情况。但是,如果我使用 j 或 k,则不会发生。我对 .vimrc 所做的唯一更改是添加了 set termguicolors。 我发现我所有的问题都是因为 termguicolors 引起的。 但这包含在每个 github 中,所以它们都显示这种随机颜色。有什么办法可以解决这个问题吗?

所以,显然问题出在 windows,或者准确地说是 WSL。 WSL 似乎不支持 set termguicolors,它会导致屏幕上出现奇怪的颜色。因为这对于几种配色方案来说是必不可少的(否则它们看起来会非常不同)。因此,除非 WSL2 提供此功能,否则我认为 windows 不可能拥有任何花哨的配色方案。最好的选择可能是使用虚拟机和 运行 linux 或双启动您的设备。