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

在Vim中生成子字符串的多个副本的字符串,vim,Vim,我正在编写一个Vimscript,它执行一些字符串操作。我想知道是否有一种方法可以通过将另一个字符串乘以某个倍数来生成字符串。例如,'a'*5将产生5个a:'aaaaa'。到目前为止,我一直在使用这样的循环: 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 让l:char='a'

我正在编写一个Vimscript,它执行一些字符串操作。我想知道是否有一种方法可以通过将另一个字符串乘以某个倍数来生成字符串。例如,
'a'*5
将产生5个a:
'aaaaa'
。到目前为止,我一直在使用
这样的
循环:

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
让l:char='a'
设l:x=5
设l:i=0
让l:somestr=“”
而l:i
这对我正在做的事情来说似乎太冗长了。有什么办法使它更紧凑吗?

函数可以做到这一点;不仅针对字符串,还针对列表元素:

:let l:somestr = repeat(l:char, l:x)