Tmux - це зміна частини фону в vim


15

Це, здається, відбувається лише під час використання vim всередині tmux. Я також використовую iTerm 2.

Якщо я створю нову панель tmux або змінюю розмір панелі tmux, вона одразу виглядає так:

переплутав фон у vim

І тоді єдиний спосіб виправити це - прокручування vim, і це повертається до цього:

хороший фон у vim

Що може бути причиною цього?


Це трапляється і в стандарті gnome-terminal, без tmux.
wchargin

Дивіться цю відповідь, щоб дізнатися, як вирішити цю проблему: stackoverflow.com/a/37863269/5153834
bloodrootfc

Відповіді:


19

Ви можете спробувати додати наступне до свого .vimrc.

if &term =~ '256color'
  " disable Background Color Erase (BCE)
  set t_ut=
endif

t_utВаріант ( по замовчуванням = у) описує , як VIM ручки , що він хоче , як кольору фону по порівнянні зі спробою використовувати поточний колір фону. Цей фрагмент очищує цю опцію.

Якщо ні, то ви можете спробувати

set ttyfast

що є варіантом, який обробляє, як vim перемальовує екрани.


2
Налаштування параметра t_ut працювало!
aharris88

Це не спрацювало для мене. Я вже встановив ttyfastі спробував очистити t_utбез ефекту. Моя настройка така ж, як і в ОП, за винятком того, що я використовую termguicolorsвсередині Tmux, налаштований на підтримку справжнього кольору. Vim чудово малює всередині iTerm, але починає демонструвати ту саму дивність екрану, що і вище, коли я бігаю всередину Tmux. Дайте мені знати, чи варто мені відкрити нове запитання; Я думав, що я досягну тут, оскільки відчуваю по суті ту ж проблему.
djmoch

1

Я вважаю, що це пов’язано з ttyfastтим, що екран не перероблений повністю. Спробуйте встановити його на:

'ttyfast' 'tf'      boolean (default off, on when 'term' is xterm, hpterm,
                    sun-cmd, screen, rxvt, dtterm or
                    iris-ansi; also on when running Vim in
                    a DOS console)
            global
            {not in Vi}
    Indicates a fast terminal connection.  More characters will be sent to
    the screen for redrawing, instead of using insert/delete line
    commands.  Improves smoothness of redrawing when there are multiple
    windows and the terminal does not support a scrolling region.
    Also enables the extra writing of characters at the end of each screen
    line for lines that wrap.  This helps when using copy/paste with the
    mouse in an xterm and other terminals.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.