Vim в изменении цвета фона tmux при подкачке
Я использую vim в 256 цветовом режиме на Solaris (подключен через Putty в Windows). Все выглядит отлично и отлично работает за пределами tmux, но в tmux цвет фона меняется периодически при подкачке/прокрутке файла.
Вот как он должен выглядеть:
![p2VxY.png]()
Вот как он появляется после разбиения на страницы вокруг:
![lAI9c.png]()
Спасибо!
Ответы
Ответ 1
Как объяснено здесь, отключите Удаление цвета фона (BCE), очистив опцию терминала t_ut
( запустите :set t_ut=
в Vim, а затем нажмите Control + L, чтобы обновить дисплей терминала), чтобы цветовые схемы работали правильно, когда Vim используется внутри экрана tmux и GNU.
В приведенной выше ссылке BCE можно установить в .vimrc, добавив следующий
if &term =~ '256color'
" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
" see also http://snk.tuxfamily.org/log/vim-256color-bce.html
set t_ut=
endif
Ответ 2
Добавление альтернативного решения, поскольку я столкнулся с этой проблемой сам и только решил ее. У меня было правильное значение TERM, там был файл terminfo и т.д., Но фон все равно оставался бы только за ячейками, которые содержали печатные символы или ячейки слева от них.
Если вы часто переключаетесь между GUI vim и CLI vim, в какой-то момент вы можете добавить что-то вроде этого в файл .vimrc
:
if !has("gui_running")
set term=xterm
endif
(Или действительно любое переопределение во всей переменной TERM внутри .vimrc
)
Измените переопределение терминала на экран-256color.
...
set term=screen-256color
...
Ответ 3
Это похоже на проблему с настройкой термина или terminfo.
Убедитесь, что ваш термин в tmux равен TERM=screen-256color
и что в вашем поле солярия есть правильный terminfo.
Ответ 4
Эта ошибка исправлена в vim 7.4 патч 7.4.1942
Релевантная проблема: 804