Vim подсвечивает конечные пробелы после определенных движений с помощью coloscheme

Vim подсвечивает конечные пробелы после определенных движений с помощью coloscheme

Проблема

После установки цветовой схемы в Vim (следуя предписанному методу перемещения файла colorscheme.vim в ~/.vim/colors) и выполнения многострочных перемещений, таких как Ctrl-D/Ctrl-U для Page Up/Down, Vim выделяет часть или все конечные пробелы. Вы можете увидеть то, что вижу я, на этом изображении:

Неправильная подсветка в Vim]

Я заметил похожее поведение с другими движениями, такими как "100j/k" для перемещения большого количества строк. После возникновения ошибки большее движение, похоже, усугубляет проблему. Более мелкие движения, похоже, ничего не делают, пока не начинают перемещать экран.

Попытка

Устанавливал разные цветовые схемы, чтобы проверить, связана ли проблема с конкретной схемой, пробовал Vim в Vagrant-окне, чтобы проверить, мой ли это компьютер.

Поискал в Google, Stack Overflow, Super User — на удивление ничего похожего не нашел.

Среда

Windows 10 на Surface Pro. Использую Ubuntu Bash на Windows (WSL). Vim 8.0. Пробовал с цветовыми схемами molokai.vim и rigel.vim. Вот мой vimrc:

set ruler
set number
set textwidth=80

" Creates tabs:
set softtabstop=4
set shiftwidth=4
set expandtab " whether tabs are tabs or spaces
set autoindent

syntax enable
set wildmenu " visual autocomplete menu <tab>/<alt-tab> to cycle
set incsearch " search as characters are entered
set hlsearch " highlights search results
" turn off search highlight, since it persists, with: \<space>
nnoremap <leader><space> :nohlsearch<CR>
colorscheme rigel

решение1

Возможно, немного поздно, но это может помочь другим. Я решил эту проблему, удалив эту строку из моего vimrc:

set listchars=nbsp:█,eol:¶,tab:>-,extends:»,precedes:«,trail:• 

решение2

Я видел этот ответ в другом посте, у меня была та же проблема, и она не была связана с опцией listchars. Это решило все: Добавить autocmd VimEnter * set t_ut= to your vimrc file.

решение3

Это была первая тема, которую я увидел, пытаясь решить ту же проблему, поэтому я подумал, что будет хорошей идеей обновить этот вопрос, указав то, что помогло мне.

Казалось, что моя цветовая схема vim уступила место цветовой схеме терминала (kitty), когда я прокручивал страницу вниз. К счастью,Я наткнулся на проблему GitHub для kitty.

Добавление следующего к моему .vimrcрешению решило проблему.

" vim hardcodes background color erase even if the terminfo file does
" not contain bce (not to mention that libvte based terminals
" incorrectly contain bce in their terminfo files). This causes
" incorrect background rendering when using a color theme with a
" background color.
let &t_ut=''

Связанный контент