list - 如何在vim中随机播放列表?

标签 list sorting vim random

在 Vim 中打乱列表的最佳方法是什么?

我正在尝试对 vim 中的行进行随机排序(使用 vimscript)。
我为此创建了一个包含所有行号的列表(在我的选择中)。

体育课如果我从第 10 行到第 20 行中选择,我的列表将是:

mylist = ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']

我想对行进行随机排序,并使用 for 循环将它们放回新序列中的相同选择中。
为了实现这一点,我想多次洗牌,但不知道如何洗牌。

另一种解决方案是从我的最后一个随机选择一个索引。

无法找出最好的方法。

我知道我可以使用 python、ruby 或其他语言对行进行排序,但我不想安装它们。
我想使用 vimscript 实现上面的内容。

最佳答案

您可以使用“UNIX 风格”并使用 shuf来自 coreutils 的命令包裹:

:10,20!shuf<CR>

关于list - 如何在vim中随机播放列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643039/

相关文章:

python - 从元组列表中获取最小最大值

c# - 生成施罗德路径

arrays - 使用 VBA 过滤器函数时的性能注意事项

c# - XML 排序异常

python - 为什么 PyCharm 建议我将列表转换为集合?

Python:将每个列表元素与另一个列表的特定元素相乘的列表理解方法

vim - 如何在 vimscript 的映射中转义 "<CR>"

regex - 我如何使用 vim 替换所有匹配正则表达式的整行

regex - 根据正则表达式对文件行进行排序

Vim 不应用 .vimrc 中的某些设置