2015-10-14 131 views
0

我最近发现的Vim colorschemes,并在这个过程中发现了一个奇怪而错误:当我运行在Vim中hi Normal ctermbg,颜色变化延续到我正在运行中的Vim中,像这样的外壳:Vim的ctermbg着色问题;与VimLeave解决方法?

vim-ctermbg-bug

我使用PuTTYtray(但也看到在PuTTY中的行为),启用256种颜色,粗体文本由字体更改指示,$ TERM设置为“putty-256color”;我的.vimrc如下:

set t_Co=256 
colors zenburn 

和zenburn.vim可以发现here。我已将问题明确地分离到特定行298,它首先将ctermbg配置为正常突出显示。

(顺便说一句:好像是用腻子托盘具有特定颜色设置,在普通高亮的时候,ctermbg必须首先与guifgguibg,如hi Normal guifg=#dcdccc ctermbg=237同时设置,只有后将hi Normal ctermbg=some_val工作。)

有没有人碰巧知道为什么会发生这种情况?


我还试图通过运行VimLeavehi Normal ctermbg=None做一个解决方法(虽然我承认这是有问题的,如果我运行多个Vim的情况下,因此,如果任何人都可以提出一个替代方案,也将受到欢迎),但没有成功。添加以下到我的.vimrc不起作用:

function! RESET_ctermbg() 
    "reset $ctermbg to None" 
    exec "hi Normal ctermbg=None" 
endfunction 
au VimLeave * call RESET_ctermbg() 

回答

0

我已经改变$TERMxterm-256color固定的问题;我最好的选择是,putty-256color作为一个shell来处理像我正在做的vim colorscheme这样的行为并没有得到很好的支持,所以我甚至不需要尝试使解决方法工作了。

+0

将'$ TERM'设置为'putty-256color' termcap信息安装在运行vim的Linux系统中,并且该信息与您正在使用的putty版本和配置标志相匹配。 – Vitor