[英]Vim: Use + as default register only for yank command
我想只为yank命令使用+ register(系统剪贴板)(也就是说,不要在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
更像是“cut”而不是“delete”。 你得到的是正常行为。
但是你可以使用“黑洞寄存器”: "_d
<leader>d
。我已将它映射到<leader>d
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.