我只想将 + register (系统剪贴板)用于yank 命令(即不要覆盖此寄存器dd
或其他命令)。
:set clipboard+=unnamed
不起作用,因为它引入dd
了上述覆盖。
您可以覆盖默认的 yank 命令,以便它们默认为系统剪贴板,除非明确给出另一个寄存器:
: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
更像是“剪切”而不是“删除”。你得到的是正常的行为。
不过,您可以使用“黑洞寄存器”:"_d
. 我已将其映射到<leader>d
.