You can overwrite the default yank commands so that they are by default in the system clipboard unless another register is explicitly specified:
:nnoremap <expr> y (v:register ==# '"' ? '"+' : '') . 'y' :nnoremap <expr> yy (v:register ==# '"' ? '"+' : '') . 'yy' :nnoremap <expr> Y (v:register ==# '"' ? '"+' : '') . 'Y' :xnoremap <expr> y (v:register ==# '"' ? '"+' : '') . 'y' :xnoremap <expr> Y (v:register ==# '"' ? '"+' : '') . 'Y'
source share