Недавно я обнаружил Vim colorschemes, и в процессе обнаружил довольно любопытный баг: когда я бег hi Normal ctermbg
в Vim, изменение цвета переносится на оболочку, что я бег Vim в, например, так:Окраска ошибка с vter's ctermbg; обходной путь с VimLeave?
Я использую PuTTYtray (но также вижу поведение в PuTTY) с включенным 256 цветами, полужирным шрифтом, обозначенным изменением шрифта, и $ TERM, установленным на «putty-256color»; мой .vimrc следующим образом:
set t_Co=256
colors zenburn
и zenburn.vim можно найти here. Я специально выделил проблему специально для строки 298, где она сначала настраивает ctermbg
для обычной подсветки.
(Кстати: кажется, что при использовании PuTTY лотка с определенными параметрами цвета, в нормальном подсветке, ctermbg
должен быть первым установлен одновременно с guifg
или guibg
, например hi Normal guifg=#dcdccc ctermbg=237
, и только после этого будет hi Normal ctermbg=some_val
работы.)
Кто-нибудь случайно не знает, почему это происходит?
Я также пытался сделать обходной путь, запустив hi Normal ctermbg=None
на VimLeave
(хотя я признаю, что это проблематично, если я запускать несколько экземпляров Vim, так что если кто может предложить альтернативу, которая также будет приветствоваться), но без успеха. Добавление следующих к моему .vimrc
не работает:
function! RESET_ctermbg()
"reset $ctermbg to None"
exec "hi Normal ctermbg=None"
endfunction
au VimLeave * call RESET_ctermbg()
Устанавливается '' TERM'' для 'termty-256color' termcap информация установлена в системе Linux, в которой вы используете vim, и что эта информация соответствует используемой вами версии шпионки и флагов конфигурации. – Vitor