如何在vim中仅将被拔出的文本复制到系统剪贴板

时间:2017-05-09 18:50:29

标签: vim copy-paste

我可以使用clipboard=unnamedplus复制到系统剪贴板。但是,当使用ddciw等命令时,这也会将文本复制到系统剪贴板。

例如,如果我复制一些文本,然后使用ciw,我替换的文本将被复制到系统剪贴板中,我必须再次复制原始文本才能粘贴它。 / p>

我想要的是仅在我选择(y)选项时使用yyyiw或类似命令复制到系统剪贴板。

2 个答案:

答案 0 :(得分:2)

解决方案是将其放在我的.vimrc

" Use system clipboard by default
set clipboard=unnamedplus

" Remap 'c', 'C', 'd', 'D', 'x' and 'X' to save text in a custom register
nnoremap c "cc
vnoremap c "cc
nnoremap C "cC
vnoremap C "cC

nnoremap d "dd
vnoremap d "dd  
nnoremap D "dD
vnoremap D "dD

nnoremap x "xx
vnoremap x "xx
nnoremap X "xX
vnoremap X "xX

我在这里找到了解决方案:

答案 1 :(得分:1)

如果您只想在某些情况下复制到系统剪贴板,则可以使用"*寄存器而不是全局设置clipboard,例如:"*yy

或者,如果您想确保命令不会进入系统剪贴板,您可以使用其他寄存器或黑洞寄存器"_

有关寄存器的更多信息: