Tmuxはvimの背景の一部を変更しています


15

これは、tmux内でvimを使用する場合にのみ発生するようです。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オプション(デフォルト= y)は背景色は、現在の背景色を使用しようとすると比較して、それが望んでどのようにvimのハンドルについて説明します。このスニペットはそのオプションをクリアします。

そうでない場合、あなたはしようとするかもしれません

set ttyfast

これは、vimが画面を再描画する方法を処理するオプションです。


2
t_utオプションの設定は機能しました!
aharris88

これはうまくいきませんでした。私はすでに設定しttyfastt_ut効果なしでクリアしようとしました。私のセットアップは、termguicolorsトゥルーカラーサポート用に構成されたTmux内で使用していることを除いて、OPと同じです。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.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.