Скрипт vim: как выполнить команду в функции vim - PullRequest
7 голосов
/ 29 сентября 2011

Почему следующее:

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 Ответ

6 голосов
/ 29 сентября 2011

Взгляните на этот скрипт с vim.wikia.com , который в значительной степени выполняет то, о чем вы просите.

Кажется, что это ключевая строка:

let nowcolors = 'elflord morning desert evening pablo'
  execute 'colorscheme '.split(nowcolors)[i]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...