Подтвердить что ты не робот

Vim в изменении цвета фона tmux при подкачке

Я использую vim в 256 цветовом режиме на Solaris (подключен через Putty в Windows). Все выглядит отлично и отлично работает за пределами tmux, но в tmux цвет фона меняется периодически при подкачке/прокрутке файла.

Вот как он должен выглядеть:

p2VxY.png

Вот как он появляется после разбиения на страницы вокруг:

lAI9c.png

Спасибо!

4b9b3361

Ответ 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