I'd like to use + register (system clipboard) only for yank command (that is, don't overwrite this register on dd
or other commands).
:set clipboard+=unnamed
won't work, because it introduces dd
overwriting described above.
I'd like to use + register (system clipboard) only for yank command (that is, don't overwrite this register on dd
or other commands).
:set clipboard+=unnamed
won't work, because it introduces dd
overwriting described above.
You can overwrite the default yank commands so that they default to the system clipboard, unless another register is explicitly given:
: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'
d
is more like "cut" than "delete". What you get is normal behavior.
You can use the "black hole register", though: "_d
. I have mapped it to <leader>d
.