vim脚本:如何在vim函数中执行命令

时间:2011-09-29 12:22:56

标签: vim

为什么如下:

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

不执行colorscheme? Vim抱怨以下错误'找不到colorschem s:name'。我如何告诉它我希望它能够对该变量进行反驳,而不是将其直接应用于:colorscheme?

1 个答案:

答案 0 :(得分:6)

查看vim.wikia.com中的这个脚本,它可以满足您的要求。

关键线似乎就是这个:

let nowcolors = 'elflord morning desert evening pablo'
  execute 'colorscheme '.split(nowcolors)[i]