Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Vim'给臭虫着色;s-mbg;用VimLeave解决问题?_Vim_Putty_Vim Syntax Highlighting - Fatal编程技术网

用Vim'给臭虫着色;s-mbg;用VimLeave解决问题?

用Vim'给臭虫着色;s-mbg;用VimLeave解决问题?,vim,putty,vim-syntax-highlighting,Vim,Putty,Vim Syntax Highlighting,我最近发现了Vim colorschemes,在此过程中发现了一个相当奇怪的错误:当我在Vim中运行hi-Normal-ctermbg时,颜色变化会传递到我运行Vim的shell中,如下所示: 我使用的PuttyRay(但也可以看到PuTTY中的行为)启用了256色,粗体文本由字体更改指示,并且$TERM设置为“PuTTY-256color”;我的.vimrc如下: set t_Co=256 colors zenburn 可以找到zenburn.vim。我专门针对第298行隔离了这个问题,在

我最近发现了Vim colorschemes,在此过程中发现了一个相当奇怪的错误:当我在Vim中运行
hi-Normal-ctermbg
时,颜色变化会传递到我运行Vim的shell中,如下所示:

我使用的PuttyRay(但也可以看到PuTTY中的行为)启用了256色,粗体文本由字体更改指示,并且$TERM设置为“PuTTY-256color”;我的.vimrc如下:

set t_Co=256
colors zenburn
可以找到zenburn.vim。我专门针对第298行隔离了这个问题,在第298行中,它首先配置了正常高亮显示的
ctermbg

(旁白:当使用具有特定颜色设置的油灰盒时,在正常高亮显示中,
ctermbg
必须首先与
guifg
guibg
同时设置,例如
hi Normal guifg=#dcdcdccc ctermbg=237
,并且只有在这之后才能
hi Normal ctermbg=some\val
工作。)

有人知道为什么会这样吗


我还尝试通过在
vimleeve
上运行
hi-Normal ctermbg=None
来解决问题(尽管我认识到,如果我运行多个Vim实例,这是有问题的,因此如果有人可以建议一个也受欢迎的替代方案),但没有成功。将以下内容添加到my
.vimrc
中不起作用:

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

我已通过将
$TERM
更改为
xterm-256color
解决了此问题;我的最佳选择是,
putty-256color
作为一个shell没有得到足够的支持,无法处理像我所做的vim colorscheme那样的行为,因此,我甚至不需要再尝试使解决方案工作。

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