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

时间:2013-03-08 20:23:15

标签: vim

我正在处理一个执行字符串操作的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

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

1 个答案:

答案 0 :(得分:11)

repeat()函数可以做到这一点;不只是字符串,也是列表元素:

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