它是否只能允许将拉出的内容转到剪贴板,而删除的内容则不允许?

它是否只能允许将拉出的内容转到剪贴板,而删除的内容则不允许?

我进入了set clipboard=unnamed我的 vimrc。
这样我就可以轻松地将 vim 的内容移动到剪贴板。

但最近,我发现我不需要将删除的内容(带有dx等)转到sys-clipboard,因为这给我带来了一些不便。

register help info我今天下午读完了 vim 的内容。
发现"0是针对 vim 中拉出的内容,"1是针对删除的内容。

但在剪贴板帮助界面中,我看到唯一的两个选项是 set clipboard=unnamedset clipboard=unnamedplus

有没有一种方法可以将剪贴板设置为"0,或者只允许拉出的内容去"*注册"+

答案1

没有任何内置功能,但您可以通过临时覆盖所有 yank 命令来实现:set clipboard=unnamed。 (我不会以相反的方式这样做,因为还有更多隐式删除的命令,例如c, s, x, d, ...)

映射可以非常简单,例如

:nnoremap <silent> yy :<C-u>set clipboard=unnamed<Bar>execute 'normal!' v:count1 . 'yy'<Bar>set clipboard=<CR>

y{motion}更具挑战性;您可以实现完整的自定义运算符函数(请参阅 参考资料:help g@),或者使用:autocmd CursorMoved触发器来重置该'clipboard'选项。

相关内容