Rem*_*man 23 sorting random vim list
在Vim中刷新列表的最佳方法是什么?
我试图在vim中随机排序(使用vimscript).我为此创建了一个包含所有行号的列表(在我的选择中).
如果我从第10行到第20行选择,我的列表将是:
mylist = ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20']
Run Code Online (Sandbox Code Playgroud)
我想随机对行进行排序,并使用for循环将它们放回新序列中的相同选择中.为了实现这一点,我想多次洗牌,但不知道如何洗牌.
另一个解决方案是从我的上一个随机选择一个索引.
无法找出最好的方法.
我知道我可以使用python,ruby或其他语言对行进行排序,但我不想安装它们.我想在上面使用vimscript实现.
rom*_*inl 31
您可以使用"UNIX样式"并使用包中的shuf命令coreutils:
:10,20!shuf<CR>
Run Code Online (Sandbox Code Playgroud)
osx现在包含一个-R排序的标志,所以你应该可以使用
:'<,'>!sort -R
排序在osx中没有-R标志,因此:
brew install coreutils
在vim中选择行,然后运行:
:'<,'>!gsort -R