Ich habe eine Liste von Symbolen und möchte die Vim8-Timer-API verwenden, um alle 80ms die Symbolliste zu durchlaufen und dieses Symbol zurückzugeben. Ich arbeitete heraus etwas wie folgt aus:VimL Druckwerte in einer Liste unendlich
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})
Aber sobald es das letzte Symbol in der Liste erreicht, wird es einen Fehler aus, E684: list index out of range: 10
. Irgendwelche Ideen, um zu erreichen, was ich will?
d'oh ... ich hatte das ursprünglich, aber es gab mir Probleme bezüglich eines anderen Syntaxfehlers. Danke für die Antwort! Nun, um herauszufinden, wie der zurückgegebene Wert in einem Statusliniensegment gedruckt wird – mhartington