我进入了set clipboard=unnamed
我的 vimrc。
这样我就可以轻松地将 vim 的内容移动到剪贴板。
但最近,我发现我不需要将删除的内容(带有d
,x
等)转到sys-clipboard,因为这给我带来了一些不便。
register help info
我今天下午读完了 vim 的内容。
发现"0
是针对 vim 中拉出的内容,"1
是针对删除的内容。
但在剪贴板帮助界面中,我看到唯一的两个选项是 set clipboard=unnamed
和 set 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'
选项。