我正在处理一个执行字符串操作的Vimscript。我想知道是否有办法通过将另一个字符串乘以某个倍数来生成字符串。例如,'a' * 5
会生成5个:'aaaaa'
。到目前为止,我一直在使用这样的while
循环:
let l:char = 'a'
let l:x = 5
let l:i = 0
let l:somestr = ""
while l:i < l:x
let l:somestr .= l:char
let l:i += 1
endwhile
对于我正在做的事情,这似乎非常冗长。有什么方法可以让它更紧凑吗?
答案 0 :(得分:11)
repeat()
函数可以做到这一点;不只是字符串,也是列表元素:
:let l:somestr = repeat(l:char, l:x)