我知道有很多方法可以从外壳程序中获取随机数。但是,我在很少编译的Android手机上运行vim。而且,它不一定必须严格随机。关键是,什么是有趣的,简洁的,快速的(即使用vim本机函数),或者是在Vim中获得一系列相当好的随机数的简短方法?

最佳答案

尝试类似的东西

function Rand()
    return str2nr(matchstr(reltimestr(reltime()), '\v\.@<=\d+')[1:])
endfunction


。我知道没有比使用某些时间函数更好的选择了(它们有两个:reltime()localtime(),但是后者仅每秒更新一次)。我宁愿避免使用随机数,也不要使用pyeval('random.randint(1, 10)')(以python import random开头),因为外壳速度很慢,而且我不信任基于时间的解决方案。

注意:文档说,reltime()返回的项的格式取决于系统,因此我使用的是reltimestr(),而不是对reltime()[1]进行处理,这看起来是否包含纳秒。

关于random - native Vim随机数脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12737977/

10-09 17:06