在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。你能帮我解决一下可能导致这种奇怪行为的原因吗?
答案 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
。