У меня есть файл конфигурации, который определяет коллекцию объектов, как это:Поиск и замена с генерации случайных чисел
[object 1]
param1 = 1
param2 = 2
rate = 0.01
Для тестирования я хочу рандомизации значение каждого параметра rate
. Поскольку моя среда разработки уже является vim, я хочу найти регулярное выражение, которое может искать параметр скорости и заменить его случайным значением. Я знаю, что 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() поступает в область сообщений, а не в буфер. Как это исправить?
Почему вы хотите обновить файл с случайным числом? Почему бы не генерировать и использовать номер в качестве части вашей программы? –
К сожалению, у меня нет доступа к этой части кода. Мой единственный интерфейс с этими конфигурационными файлами. – CoconutBandit