我有很多R和Python文件,所有这些都是我同时处理的。我更喜欢使用不同的colorschemes,不仅适用于不同的文件类型,而且适用于不同类型的不同文件。这样我就可以在屏幕上轻松找到它们,并迅速将我的思想从一段代码转移到另一段代码。我可以在我的vimrc中自动执行此操作吗? filetype变量不是我想要的,因为已经有几个特定问题的答案。我想根据文件* name *。
更改colorschemes例如,一个文件可以被称为bbg.r,而另一个文件可以被称为fx.r.请注意,这不是我对更改colorscheme感兴趣的扩展,它是针对个人文件,因此上述两个文件应调用不同的颜色方案。
答案 0 :(得分:2)
为所有缓冲区加载颜色方案,但如果您只想在为sagb.r
加载缓冲区时加载某种颜色方案,则可以使用以下colorscheme。
autocmd BufEnter sagb.r colorscheme <colorscheme_name>
然后如果您想在离开缓冲区时将colorscheme重置为默认值,可以使用
autocmd BufLeave sagb.r colorscheme <default_colorscheme>
一般
autocmd BufEnter <filename> colorscheme <colorscheme_for_file>
autocmd BufLeave <filename> colorscheme <default_colorscheme>
答案 1 :(得分:1)
您有两种常规机制可以为特定文件类型设置特定内容:
自动命令,请参阅:help autocmd
,
ftplugins,请参阅:help ftplugin
。
然而,在这里,他们没有任何帮助,因为
Vim一次只能激活一种colorscheme。
另一方面,如果您使用单独的实例,则可以完美地使用不同的颜色方案。如果是这种情况,您可以执行以下操作:
function! FTColors()
if &filetype == "python"
colorscheme foo
elseif &filetype == "r"
colorscheme bar
else
colorschem baz
endif
endfunction
autocmd BufNew,BufEnter * call FTColors()
或:
autocmd BufNew,BufEnter * colorscheme baz
autocmd BufNew,BufEnter *.py colorscheme foo
autocmd BufNew,BufEnter *.r colorscheme bar
(未经过彻底测试)