为什么如下:
let s:colorschemes = ['synic', 'ir_black']
let s:colorscheme_idx = 0
function! RotateColorscheme()
let s:colorscheme_idx += 1
let s:name = s:colorschemes[s:colorscheme_idx]
echo s:name
colorscheme s:name
endfunction
Run Code Online (Sandbox Code Playgroud)
不执行colorscheme?Vim抱怨以下错误'找不到colorschem s:name'.我如何告诉它我希望它能够对该变量进行反驳,而不是直接应用于:colorscheme?
看看vim.wikia.com上的这个脚本,它可以满足您的要求.
关键线似乎是这样的:
let nowcolors = 'elflord morning desert evening pablo'
execute 'colorscheme '.split(nowcolors)[i]
Run Code Online (Sandbox Code Playgroud)