我在某些文件类型上有一些首选的colorscheme,但是当我打开另一个文件(具有不同colorscheme的不同文件类型)并返回前一个文件时,新的colorscheme仍然存在。
我在我的Gvimrc中使用了这个(使用gvim)
autocmd WinEnter,FileType * colorscheme default
autocmd WinEnter,FileType c,cpp colorscheme darkblue
autocmd WinEnter,FileType R,r colorscheme desert
当我浏览缓冲区时,如何修改以确保colorscheme根据文件类型保留?
编辑:添加以下内容未修复
autocmd BufEnter,BufNew,FileType c,cpp colorscheme darkblue
autocmd BufEnter,BufNew,FileType R,r colorscheme desert
答案 0 :(得分:7)
将WinEnter
和FileType
事件合并到同一个autocmd规则中是没有意义的;第一个匹配缓冲区的文件名,而后者匹配缓冲区的文件类型。
相反,只要在窗口中输入/显示缓冲区就会触发一个autocmd,并选择带有&filetype
条件的colorschmeme。
:autocmd BufEnter,FileType *
\ if &ft ==# 'c' || &ft ==# 'cpp' | colorscheme darkblue |
\ elseif &ft ==? 'r' | colorscheme desert |
\ else | colorscheme default |
\ endif
答案 1 :(得分:7)
Ingo的答案更聪明,但这些自动命令
autocmd BufEnter * colorscheme default
autocmd BufEnter *.php colorscheme desert
autocmd BufEnter *.py colorscheme darkblue
应该有效。嗯,他们在这里工作。