function! s:mycommand_sink(cmd)
let cmd = substitute(a:cmd, '\d..', '', 'g')
execute cmd
endfunction
function! s:commands(bang)
redir => registers
silent registers
redir END
let list = split(registers, '\n')
call fzf#run({
\ 'source': reverse(extend(list[0:0], map(list[2:], 's:format_cmd(v:val)'))),
\ 'sink': function('s:mycommand_sink'),
\ 'options': '--ansi -x --prompt "Registers> " ',
\ 'window': 'aboveleft 20new'}, a:bang)
endfunction
command! -bang Registers call s:commands(<bang>0)
I don't really know VimScript though, so this code, not shockingly, does not work.