10

我只想将 + register (系统剪贴板)用于yank 命令(即不要覆盖此寄存器dd或其他命令)。

:set clipboard+=unnamed

不起作用,因为它引入dd了上述覆盖。

4

2 回答 2

8

您可以覆盖默认的 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'
于 2012-11-14T14:59:10.940 回答
5

d更像是“剪切”而不是“删除”。你得到的是正常的行为。

不过,您可以使用“黑洞寄存器”:"_d. 我已将其映射到<leader>d.

于 2012-11-14T14:36:24.603 回答