【发布时间】:2013-07-12 15:45:07
【问题描述】:
在 Vim 中打乱列表的最佳方法是什么?
我正在尝试对 vim 中的行进行随机排序(使用 vimscript)。 我为此创建了一个包含所有行号的列表(在我的选择中)。
p.e.如果我从第 10 行到第 20 行中选择,我的列表将是:
mylist = ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']
我想对这些行进行随机排序,并使用 for 循环将它们放回新序列中的相同选择中。 为了实现这一点,我想多次洗牌,但不知道如何洗牌。
另一种解决方案是从我的最后一个随机选择一个索引。
找不到最好的方法。
我知道我可以使用 python、ruby 或其他语言对行进行排序,但我不想安装它们。 我想使用 vimscript 实现上述。
【问题讨论】:
-
有用:Native Vim Random number script。我看到你已经知道那里的算法了。
-
对于 Vim 脚本中更重量级的随机数生成器,还有Rndm。
-
我昨天检查了本机 Vim 随机脚本,但发现这些值不是随机创建的(请参阅我在该页面上的评论)。我还检查了 Chip Campbell 的 Rndm 脚本,但发现排序也不是随机的(除此之外,还有很多代码)