我尝试在屏幕会话中使用 vim。出于某种原因,屏幕上没有文本的部分的背景颜色显示为深色,而有文本的部分则显示为浅色(下面的屏幕截图)。当我将背景切换为深色(set bg=dark
)时,一切都很好,但这不是我真正想要的。我应该指出,当不在屏幕会话中时,一切都按预期工作。
如果有帮助的话,我很乐意提供 bash/vim/screen rc 文件,但除非被要求,否则我不会盲目地将它们全部粘贴到这里。
答案1
不。set t_Co=256
不是解决方案,设置终端仿真器和屏幕是解决方案。
假设您的终端仿真器设置为将自身宣传为xterm-256color
,则您只需将此行添加到~/.screenrc
:
term "screen-256color"
答案2
在screen
或里面tmux
,的值$TERM
需要以开始screen
,而不是xterm
。
看在屏幕内运行时,Vim 不会对行尾进行着色对于同样的问题,也对答案进行了详细的解释。
答案3
我最终找到了答案。我需要补充
set t_Co=256
对我来说.vimrc
,这解决了这个问题。