繁体   English   中英

Vim:仅对yank命令使用+作为默认寄存器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM