在Vim中生成子字符串的多个副本的字符串

ery*_*les 8 vim

我正在研究一个做一些字符串操作的Vimscript.我想知道是否有办法通过将另一个字符串乘以某个倍数来生成字符串.例如,'a' * 5会产生5 a : '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
Run Code Online (Sandbox Code Playgroud)

对于我正在做的事情,这似乎非常冗长.有什么方法可以让它更紧凑?

Ing*_*kat 11

该repeat()功能可以做到这一点; 不仅仅是字符串,也是列表元素:

:let l:somestr = repeat(l:char, l:x)
Run Code Online (Sandbox Code Playgroud)