Vim与gnu screen的背景问题

13

我在使用 vim 时遇到了颜色方案的问题。在使用 GNU screen 启动 vim 会话编辑文件时,文本背景无法正确渲染。在屏幕外的会话中,整个背景都是灰色(应该是这样的)。对于屏幕内的 vim 窗口,只有直接位于文本后面的背景变成了灰色,而其他部分是黑色。

我在我的 .cshrc.screenrc 中都设置了 TERM 为 xterm-256color。我的 .vimrc 中有 set t_Co=256

我在使用 csh

编辑:我通过 cygwin 连接。


首先,你不是在 tty 上工作,对吧?那么你可以尝试在你的 screenrc 中使用 term screen-256color - Kent
我的xterm工作得非常完美 - 但是在vim中,屏幕显示的背景颜色略有不同。我已经设置了setenv TERM xterm-256color - Ravi
3
我找到了问题所在,我需要进行以下设置:defbce "on"这将强制刷新背景颜色。“更改背景颜色擦除设置。如果 bce 设置为 'on',则所有通过擦除/插入/滚动/清除操作清除的字符将以当前背景颜色显示。否则,将使用默认背景颜色。” - Ravi
2
Ravi,请将其写成答案;否则很难找到。 - Ingo Karkat
我打算今天回来补上它 - 由于我的账户是新的,昨天我无法发布答案。 - Ravi
显示剩余3条评论
3个回答

11
< p> [替OP填写,见评论]

原帖作者已经找到了问题:

  

我需要设置这个:

defbce "on"

这会强制刷新背景色。

“更改background-color-erase设置。如果bce设置为“on”,则所有因擦除/插入/滚动/清除操作而清除的字符将显示在当前背景颜色中。否则,将使用默认背景颜色。”

– Ravi 19小时前


9
根据这里的解释,为了让Vim在tmux和GNU screen中正常显示颜色方案,请通过清除t_ut终端选项(在Vim中运行:set t_ut=,然后按下Control+L刷新终端显示)来禁用背景色擦除(BCE)。请注意保留所有HTML标签。

5
为了让vim、bash和screen的设置协同工作:
1)在.bashrc中添加以下内容:
export TERM=xterm-256color

2) 在.screenrc文件中添加以下内容:

altscreen on
defbce on
set term=screen-256color

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接