Vim background with gnu screen
Asked Answered
M

3

13

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.

Messner answered 4/2, 2013 at 15:29 Comment(8)
1st of all, you are not working on tty, are u? then you could try if term screen-256color in your screenrc worksAssumptive
I did try that as well - no luck.Messner
setenv TERM xterm-256colorGaffney
To enable colors on XTerm you will need to run the configure scripts with the --enable-256-color switchGaffney
My xterm is working perfectly - but screen is displaying background color in vim slightly wrong. I already have setenv TERM xterm-256colorMessner
I 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."Messner
Ravi, please write that as an answer; it's difficult to find otherwise.Cassaba
I intended to come back and fill it in today - I was unable to post answers yesterday since my account was new.Messner
T
11

[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

Tyro answered 5/2, 2013 at 14:28 Comment(0)
H
9

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.

Heavily answered 7/3, 2013 at 18:57 Comment(0)
N
6

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
Nowlin answered 16/6, 2016 at 15:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.