Vim' ctermbg的着色错误;使用VimLeave解决方法?

时间:2015-10-14 09:25:20

标签: vim putty vim-syntax-highlighting

我最近发现了Vim colorschemes,并且在此过程中发现了一个相当奇怪的错误:当我在Vim中运行hi Normal ctermbg时,颜色变化会转移到我正在运行Vim的shell中,就像这样:

vim-ctermbg-bug

我使用PuTTYtray(但也看到了PuTTY中的行为)启用了256种颜色,粗体文字由字体更改表示,$ TERM设置为" putty-256color&#34 ;;我的.vimrc如下:

set t_Co=256
colors zenburn

和zenburn.vim可以找到here。我已经专门将问题隔离到专门的第298行,它首先为正常突出显示配置ctermbg

(顺便说一句:似乎在使用具有特定颜色设置的PuTTY托盘时,在常规突出显示中,ctermbg必须首先与guifgguibg同时设置,例如{ {1}},只有在hi Normal guifg=#dcdccc ctermbg=237之后才会工作。)

有没有人碰巧知道为什么会这样?

我还尝试在hi Normal ctermbg=some_val上运行hi Normal ctermbg=None来尝试解决方法(虽然我认识到如果我运行多个Vim实例会出现问题,所以如果有人可以提出替代方案,那么也欢迎),但没有成功。将以下内容添加到我的VimLeave不起作用:

.vimrc

1 个答案:

答案 0 :(得分:0)

我已将$TERM更改为xterm-256color,从而解决了问题。我最好的选择是putty-256color作为一个shell来处理像我正在做的vim colorscheme这样的行为,并不是很好的支持,所以我甚至不需要尝试使解决方法工作了。