我有一个配置文件,其中定义了这样一组对象:
我知道这会用一个随机数替换整行文本,但这是我稍后可以轻松解决的问题。问题在于Random()的输出进入了消息区而非缓冲区。我该如何纠正这个问题?
[object 1]
param1 = 1
param2 = 2
rate = 0.01
为了测试目的,我想随机化每个rate
参数的值。由于我的开发环境已经是vim,我想找到一个正则表达式,可以搜索rate参数并将其替换为随机值。我知道vim不擅长生成随机数,但我也知道你可以使用Python来帮助定义自定义函数。然而,我创建的任何函数都会将结果输出到缓冲区,而不是搜索/替换字符串。
我有一个类似这样的函数:
function! Random()
: python << EOF
: import numpy as np
: print np.random.uniform(0.25,1)
: EOF
: endfunction
我的正则表达式如下:
:s/rate = \d\.\d*/\=Random()
我知道这会用一个随机数替换整行文本,但这是我稍后可以轻松解决的问题。问题在于Random()的输出进入了消息区而非缓冲区。我该如何纠正这个问题?