在vim中为文件类型设置colorscheme

时间:2018-05-02 12:37:10

标签: vim

在vim中,我试图使用autocmd为一些文件类型使用特殊的colorscheme。奇怪的是,这对所有文件类型都不起作用。这是我的vimrc:

autocmd filetype troff :colorscheme troff
autocmd filetype tintin :colorscheme troff
autocmd BufNewFile,BufRead *.tt set ft=tintin
autocmd BufNewFile,BufRead *.tr set ft=troff

在打开f.tr时,colorscheme" troff"使用,但在打开f.tt时,文件类型正确设置为" tintin",使用默认的colorscheme。如果我手动设置文件类型(sef ft = tintin),则加载colorscheme troff。你能帮我解决一下可能导致这种奇怪行为的原因吗?

1 个答案:

答案 0 :(得分:0)

我无法重现你的问题。但是我会建议以下自动命令:

autocmd BufNewFile,BufRead *.tt let g:tmpcolor=g:colors_name            
autocmd BufNewFile,BufRead *.tr let g:tmpcolor=g:colors_name            
autocmd BufEnter *.tt colorscheme troff | set ft=tintin                  
autocmd BufEnter *.tr colorscheme troff | set ft=troff                   
autocmd BufLeave *.tt exe 'colorscheme '.g:tmpcolor                     
autocmd BufLeave *.tr exe 'colorscheme '.g:tmpcolor

这将创建一个存储原始配色方案的变量g:tmpcolor。编辑.tt.tr类型的文件时,颜色方案将更改为troff。保留这些文件后,配色方案将更改为g:tmpcolor