noremap <MiddleMouse> <nop>
noremap <MiddleRelease> :call AcmeMiddle()<cr>

function! AcmeMiddle() range "{{{2
    let star=getreg("*")
    exe "normal \<leftmouse>"
    let cw=expand("<cWORD>")
    let s_f_line = split(star, "\n")[0]
    let f_line = getline(a:firstline)
    let s_f_byte = line2byte(a:firstline + stridx(f_line, s_f_line))
    let s_l_byte = s_f_byte + len(star) - (a:lastline-a:firstline)
    echo "*:".star.",cW:".cw.",pos:".s_f_byte.",".s_l_byte
endfunction

finish

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.