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
.
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
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.
[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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With