中键单击粘贴如何工作?

中键单击粘贴如何工作?

我不明白中间单击粘贴的意思。

有时我会突出显示文本,然后在窗口中单击鼠标中键,它会执行我想要的操作。有时则不会。

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

到底是怎么回事?

谢谢你!

答案1

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

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

    • 因此,在 GUI 程序和终端之间复制/粘贴时经常会出现问题。
  • 如果你有这个问题,最简单的解决办法是使用一个工具来保持这两个独立的剪贴板同步。我建议ClipItsudo apt-get install clipit

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

    在此处输入图片描述

答案2

实际上有两种不同的复制和粘贴 - 一种是由底层 X11 图形系统提供的,另一种是由窗口管理器(Gnome、KDE ​​等)提供的。

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

更令人困惑的是,窗口管理器复制和粘贴也适用于非文本项目,因此即使你的突出显示已将一些文本放入两个缓冲区,你也可能会在窗口管理器缓冲区中有一些文件或复杂数据,并且两者将不同步。

有些应用程序足够聪明,能够理解并使用这两种功能,而有些则不然。在复制和粘贴方面,终端窗口通常很笨。每个应用程序通常都有设置来告诉它们如何解决复制和粘贴混乱的问题,但正确设置它们需要做很多工作。我认为 Ubuntu 默认拥有其中的大部分。

历史上的情况要糟糕得多,并导致 freedesktop 围绕它定义标准:

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

答案3

好的,当您选择文本时,您必须单击空白区域以取消选择文本,然后在要粘贴的任何位置单击鼠标中键,如果您不取消选择突出显示的区域,那么它将不起作用。

相关内容