我想只为yank命令使用+ register(系统剪贴板)(也就是说,不要覆盖这个寄存器dd或其他命令).
:set clipboard+=unnamed
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它引入了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'
Run Code Online (Sandbox Code Playgroud)