将不同的颜色方案应用于不同的窗口

Sum*_*mit 3 vim

我想对不同的文件类型使用不同的colorchemes,并在.vimrc中添加了以下代码

function SetColorScheme ()
  if &filetype != "vo_base"
    colorscheme desertEx 
  endif
endfunction 
au WinEnter * call SetColorScheme()
Run Code Online (Sandbox Code Playgroud)

一个问题就可以正常工作。

如果我打开一个.otl文件,请说todo.otl(vo_base),然后使用:sp打开另一个文件,例如example.xml。colorscheme desertEx不会应用到第二个窗口(具有example.xml的窗口)。

如果我使用BufEnter而不是WinEnter,则desertEx将同时应用于两个窗口。

有没有一种方法可以确保当我使用:sp打开一个窗口时,上述功能(a)运行,而(b)仅针对该特定窗口运行,而不针对当前会话中的所有窗口运行。

gri*_*gav 5

没办法。vim中只能同时有一个活动的颜色方案。