中间点击粘贴如何工作?


28

我不了解中间点击粘贴。

有时,我高亮显示文本,在想要进入的窗口中单击鼠标中键,即可完成我想要的操作。有时并非如此。

例如,当我在Firefox中突出显示文本时,然后在终端vim中单击鼠标中键,则什么都没有发生。

到底是怎么回事?

谢谢!

Answers:


20

由单独的X / DE剪贴板引起;使它们与ClipIt保持同步

  • ImaginaryRobots的回答所解释的,有两种不同的剪贴板:X剪贴板和桌面环境/窗口管理器剪贴板(Gnome / Unity,KDE等);根据所使用的选择方法(即仅突出显示,或显式Ctrl-C /右键单击副本等),两个剪贴板可能不同步。

    • 因此,在GUI程序和终端之间进行复制/粘贴时经常会出现问题。
  • 如果遇到此问题,最简单的解决方案是使用一种工具,使这两个单独的剪贴板保持同步。我推荐ClipItsudo apt-get install clipit

    • 启动clipit(为方便起见添加到“启动应用程序”中),然后在“首选项”下,选中“ 使用主要剪贴板”和“ 同步剪贴板”选项:

    在此处输入图片说明


1
太好了,这正是我所需要的
Fawkes5

3
我宁愿禁用剪贴板同步,因为有时我想使用Ctrl-C复制某些内容,选择要替换的文本,然后按Ctrl-V。通过剪贴板同步,我得到的是与选择的相同的文本,而不是我复制的文本。
jcollado

1
Parcellite一试ClipIt的--a打火机替代
pl1nk

17

实际上有2种不同的复制和粘贴-基础X11图形系统提供一种复制和粘贴,而窗口管理器(Gnome,KDE等)提供一种复制和粘贴。

突出显示文本而无需单击就足以将其复制到X11缓冲区中,单击鼠标中键将在其中粘贴。如果您使用control-X或control-C,它也会使用窗口管理器的缓冲区空间(因为必须突出显示它才能使用这些键),但是只有control-V会从那里得到文本-中间点击不会。

为了使事情变得更加混乱,窗口管理器复制和粘贴也将适用于非文本项,因此,即使突出显示在两个缓冲区中都包含了一些文本,也可能在窗口管理器缓冲区中包含一些文件或复杂数据,并且两者将不同步。

有些应用程序足够聪明,可以理解和使用两者,而其他应用程序则不够。终端窗口在复制和粘贴时通常是愚蠢的。通常,每个应用程序都有一些设置,可以告诉他们如何解决复制粘贴问题,但是正确设置它们都是很多工作。我认为,Ubuntu默认会获得其中的大多数。

从历史上看,这种情况更加糟糕,导致freedesktop定义了周围的标准:

http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.