私はシンボルのリストを持っており、Vim8タイマAPIを使用して80msごとにシンボルリストをループし、そのシンボルを返すことを望みます。私はこのような何か働い:リスト内のVimLの値を無制限に
let s:frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']
let s:numTestimonials = len(s:frames)
let s:start = 0
function! PrintValues()
return s:frames[s:start]
let s:start = (s:start) + 1 % s:numTestimonials
endfunction
let timer = timer_start(80, 'PrintValues', {'repeat': -1})
をしかし、すぐに、それはリストの最後のシンボルに達すると、それは誤り、E684: list index out of range: 10
がスローされます。どのように私が欲しいものを達成するための任意のアイデア?あなたはMOD
let s:start = (s:start + 1) % s:numTestimonials
1 % s:numTestimonials
前に括弧内の1を持っている必要があります
ドールああ... Iもともとそれを持っていたが、それは私にいくつかの他の構文エラーに関する問題を与えていた。答えをありがとう!ステータスラインセグメントに返された値を出力する方法を理解する – mhartington