gpt4 book ai didi

c++11 - 如何禁用 vim 粘贴到/从系统剪贴板?

转载 作者:行者123 更新时间:2023-12-04 14:24:53 40 4
gpt4 key购买 nike

基本上,我需要关于如何做 的建议。对面这里描述的内容:

How to make vim paste from (and copy to) system's clipboard?

不想当我在编辑器中删除某些内容时,vim 会覆盖系统剪贴板。我通常的工作流程是用鼠标选择一段代码(我们称之为#1),然后转到另一段代码(我们称之为#2),在视觉模式下选择#2 vim,使用“c”删除它,然后使用鼠标中键粘贴#1。有了新行为,我不再粘贴第 1 块,而是粘贴回第 2 块。

在 vim 7.2 中我可以这样做,但在 vim 7.4 中我不能。由于正确的 C++11 语法高亮显示,我想使用 7.4,但这种更改的默认行为正在杀死我。

我认为,它与 vim (vim --version) 的“+xterm_clipboard”和/或“+clipboard”功能有关,我需要以某种方式将它们更改为“-xterm_clipboard”和/或“-clipboard” .我尝试使用选项“--with-x=no”重新编译 vim 7.4,但不知何故它没有帮助。

请帮助我禁用默认情况下在 vim 中复制/粘贴到系统剪贴板。

谢谢!

最佳答案

好吧,要回答标题中的问题,您可以这样做

:set clipboard=

这将使 vim 使用它的内部寄存器而不是系统寄存器。

但实际上,这种行为与系统剪贴板无关。这更只是对 vim 寄存器的普遍误解。

Vim 默认“剪切”而不是“删除”。这意味着每个删除命令( cd )同时拉到未命名的寄存器。要解决这个问题,只需使用黑洞寄存器,例如使用 "_c"_d而不是仅仅做 cd .
9. Black hole register "_               *quote_*
When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
nothing is returned. {not in Vi}

要使其成为您特定情况的默认行为,您可以执行以下操作
xnoremap c "_d

'xnoremap' 中的 'x' 表示此映射适用于视觉模式(使用 v)和选择模式(使用鼠标)

Related SO link .

关于c++11 - 如何禁用 vim 粘贴到/从系统剪贴板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617304/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com