Generating a random number in vim Nov 6, 2009
In the department of things I’ve spent far too much time working on, I just wrote a vim script that allows you to automatically insert a random number into the file you’re editing. It probably could use a little work, but does what I need it to do (easily generate random numbers for test fixtures). To use it yourself, add the following to your ~/.vimrc:
" generate random number at end of current line
function! s:Rand(max)
y a
redir @b
ruby << EOF
rmax = VIM::evaluate("a:max")
rmax = nil if rmax == ""
printf rand(rmax).to_s
EOF
redir END
let @a = strpart(@a, 0, strlen(@a) - 1)
let @b = strpart(@b, 1, strlen(@b) - 1)
let @c = @a . @b
.s/.*/=@c/g
endfunction
command! -nargs=? Rand :call
When using vim, simply enter command mode and type :Genrand <maxnumber> to generate a random number and insert it at the end of the line. Alternatively, simply hit <F7> to generate and insert a random number between 1 and 100.