Reputation: 133
I am having trouble with my colorscheme in vim
. When editing a file using a vim session started in GNU screen, the text background is not rendered correctly. In a session outside screen, the entire background is gray (how it should be). For a vim window inside screen, only the background directly behind the text appears gray. The rest is black.
I have TERM set to xterm-256color
in both my .cshrc
and .screenrc
. My .vimrc
has set t_Co=256
I am using csh
.
Edit: I am connecting through cygwin
.
Upvotes: 13
Views: 4638
Reputation: 1233
To make vim, bash, and screen settings work together:
1) In .bashrc add the following:
export TERM=xterm-256color
2) In .screenrc add the following:
altscreen on
defbce on
set term=screen-256color
Upvotes: 6
Reputation: 2166
As explained here, disable Background Color Erase (BCE) by clearing the t_ut
terminal option (run :set t_ut=
in Vim and then press Control+L to refresh the terminal's display) so that color schemes work properly when Vim is used inside tmux and GNU screen.
Upvotes: 9
Reputation: 393789
[filling in for the OP, see the comment]
The OP found the issue:
I needed to have this set:
defbce "on"
This forces background colours to refresh.
"Change background-color-erase setting. If
bce
is set to “on”, all characters cleared by an erase/insert/scroll/clear operation will be displayed in the current background color. Otherwise the default background color is used."– Ravi 19 hours ago
Upvotes: 11