Solarisで256色モードでvimを使用しています(WindowsではPuTTY経由で接続されています)。 tmuxの外ではすべてが見栄えがよく、正常に機能しますが、tmux内では、ファイルをページング/スクロールするときに背景色が定期的に変化します。
これがどのように見えるかです:
少しページングした後の表示は次のとおりです。
ありがとう!
ここで説明されているように 、t_ut
ターミナルオプションをクリアして背景色の消去(BCE)を無効にします(Vimで:set t_ut=
を実行してからを押します) Control+L tmuxおよびGNU screen)内でVimが使用されている場合に配色が正しく機能するように、端末の表示を更新します。
上記のリンクに従って、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ファイルがそこにあった、などですが、背景は印刷可能な文字を含むセル、またはそれらの左側のセルの後ろにしか描画されませんでした。
GUIvimとCLIvimを頻繁に切り替える場合は、ある時点で.vimrc
ファイルに次のようなものを入れている可能性があります。
if !has("gui_running")
set term=xterm
endif
(または実際には.vimrc
内のすべてのTERM変数をオーバーライドする)
ターミナルオーバーライドをscreen-256colorに変更します。
...
set term=screen-256color
...
これは、用語設定またはterminfoの問題のようです。
Tmuxの用語がTERM=screen-256color
であり、Solarisボックスに正しいterminfoがあることを確認してください。
このバグはvim7.4で修正されています パッチ7.4.1942
関連する問題: 804