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