在Vim中,我想为每个文件类型使用不同的colorscheme。
例如我想使用desert256 colorscheme for Python& JavaScript文件,并使用jellybeans colorscheme for HTML& CSS文件。
我试过把下面的代码在我的.vimrc,但colorscheme更改发生只有当第一次更改缓冲区。
即如果我打开一个新的Python文件,Python的colorscheme被使用,当我打开一个新的CSS *缓冲区*,实际上colorscheme改变为CSS的colorscheme。然而,改回Python的缓冲区不会改变colorscheme。
我使用autocmd WinEnter尝试改变Windows(和缓冲区)时发生这个规则,但它没有帮助:
autocmd WinEnter,FileType python,javascript colorscheme desert256 autocmd WinEnter,FileType *,html,css colorscheme jellybeans " This includes default filetype colorscheme.
如何解决这个问题?此外,一个奖金将是不改变一个colorscheme不需要时 – 即从Python更改为JavaScript缓冲区不会将colorscheme更改为“本身”。
编辑:
如果有人感兴趣,here is my .vimrc
repo in github.com.我将更新它与我在这里找到的解决方案。
我一直在寻找同样的事情。这里面你的.vimrc工作得相当不错,虽然不完美。
autocmd BufEnter * colorscheme default autocmd BufEnter *.PHP colorscheme Tomorrow-Night autocmd BufEnter *.py colorscheme Tomorrow
(注意,如果你正在寻找一个好的暗色主题Tomorrow-Night看起来不错,非常类似于主题使用的代码学院。)