VIM:使用+作为仅抽出命令默认寄存器(Vim: Use + as default register

2019-08-02 18:01发布

我想使用+寄存器(系统剪贴板) 抽出命令(即不覆盖在该寄存器dd或其他命令)。

:set clipboard+=unnamed

不会工作,因为它引入dd上述覆盖。

Answer 1:

您可以覆盖默认粘贴命令,让他们默认为系统剪贴板,除非另一个寄存器明确给出:

: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'


Answer 2:

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

您可以使用“黑洞寄存器”,但: "_d 。我把它映射到<leader>d



文章来源: Vim: Use + as default register only for yank command
标签: vim clipboard