基本上,我需要的建议是如何做相反这里描述的事情:
How to make vim paste from (and copy to) system's clipboard?
当我在编辑器中删除一些东西时,我不希望**vim覆盖系统剪贴板。我通常的工作流程是选择一段代码(我们称之为piece #1),然后转到另一段代码(让我们称之为piece #2),在vim的可视化模式下选择piece #2,使用“c”删除它,然后使用鼠标中键粘贴piece #1。我粘贴背面的#2,而不是粘贴#1。
在vim 7.2中我可以这样做,但在vim 7.4中我不能。我想使用7.4,因为正确的C++11语法突出显示,但这种改变的默认行为是杀了我。
我认为,这与vim的 "+xterm_clipboard” 和/或 "+clipboard” 特性有关(vim --version),我需要以某种方式将它们更改为 "-xterm_clipboard” 和/或 "-clipboard”。我尝试使用选项 "--with-x=no” 重新编译vim 7.4,但不知何故,它没有帮助。
请帮助我禁用复制/粘贴在vim到系统剪贴板默认。
谢谢大家!
2条答案
按热度按时间uqzxnwby1#
为了回答题目中的问题,你可以
这将使vim使用它的内部寄存器而不是系统寄存器。
但实际上,这种行为与系统剪贴板无关,它只是对vim寄存器的一种普遍误解。
Vim默认为“cuts”而不是“deletes”。这意味着每个删除命令(
c
和d
)同时被拉到未命名的寄存器。要解决这个问题,只需使用黑洞寄存器,例如使用"_c
或"_d
而不是只执行c
或d
。要使此行为成为特定情况下的默认行为,可以执行以下操作
“xnoremap”中的“x”表示此Map适用于可视模式(使用v)和选择模式(使用鼠标)
Related SO link .
bzzcjhmw2#
核对
此扩展可能对您的http://vimawesome.com/plugin/easyclip也有用