Существует решение упоминается в Викии:
function! Putclip(type, ...) range
let sel_save = &selection
let &selection = "inclusive"
let reg_save = @@
if a:type == 'n'
silent exe a:firstline . "," . a:lastline . "y"
elseif a:type == 'c'
silent exe a:1 . "," . a:2 . "y"
else
silent exe "normal! `<" . a:type . "`>y"
endif
call writefile(split(@@,"\n"), '/dev/clipboard')
let &selection = sel_save
let @@ = reg_save
endfunction
vnoremap <silent> <leader>y :call Putclip(visualmode(), 1)<CR>
nnoremap <silent> <leader>y :call Putclip('n', 1)<CR>
просто скопируйте эти строки в .vimrc, и ваш \y сделает все, независимо от того, используете ли вы vim или мышь для выбора текстов.
Это может не быть проблемой, поскольку у вас уже есть доступ к буферу обмена, но /dev /clipboard доступен для Cygwin версии 1.7.13 и выше.