vim в tmux цвет фона меняется при подкачке
Я использую vim в 256-цветном режиме на Solaris (подключен через Putty на Windows). Все выглядит отлично и отлично работает вне tmux, но в tmux цвет фона периодически меняется при листании / прокрутке файла.
Вот как это должно выглядеть:
Вот как это выглядит после постраничного просмотра:
Спасибо!
4 ответа
Как объясняется здесь, отключите стирание фона (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
Добавляя альтернативное решение, я сам столкнулся с этой проблемой и только решил ее. У меня было правильное значение TERM, там был файл terminfo и т. Д., Но фон все равно можно было бы рисовать только за ячейками, которые содержали печатаемые символы, или ячейками слева от них.
Если вы часто переключаетесь между GUI vim и CLI vim, возможно, вы добавили что-то подобное в свой .vimrc
файл в какой-то момент:
if !has("gui_running")
set term=xterm
endif
(Или действительно любое переопределение всей переменной TERM в пределах .vimrc
)
Измените переопределение терминала на screen-256color.
...
set term=screen-256color
...
Это похоже на проблему с настройкой вашего термина, или terminfo.
Убедитесь, что ваш термин в tmux TERM=screen-256color
и что ваша коробка соляриса имеет правильную terminfo.