Vim background with gnu screen

笑着哭i 提交于 2019-11-28 03:45:41

问题


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.


回答1:


[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




回答2:


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.




回答3:


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


来源:https://stackoverflow.com/questions/14689925/vim-background-with-gnu-screen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!