X 剪贴板之间有什么区别?

Jef*_*rth 7 linux unix xorg

  • 基本的
  • 中学
  • 剪贴板
  • 剪切缓冲区

这些有什么区别?

尝试使用 xclip 和 gedit:

设置主要

据我所知,什么都没有发生

设置二级

同样,据我所知,不会影响 gedit

设置剪贴板

paste在编辑和上下文菜单中被禁用,但按下control-v会导致我想要粘贴的文本。

在 gedit 中复制

似乎正在设置primaryclipboard

分别是做什么用的?它们通常如何在程序中访问?它是如何实施的?它们是根窗口上的属性吗(如果是,它们的名称是什么)?

剪切缓冲区

我知道当您选择文本时在 xterm 中使用剪辑缓冲区,并在您单击中键时粘贴。是否有任何其他程序使用剪切缓冲区?

use*_*686 9

有很多选择,但只有一个剪贴板

剪贴板与主要

剪贴板是你的正常的剪贴板-这是一个明确的“剪切”,“复制”,“粘贴”操作。你复制到它Ctrl+C或“编辑?复制”,粘贴Ctrl+V或“编辑?粘贴”,它可以保存各种数据(文本、图像、文件)。总的来说,X11 中的剪贴板就像在 Windows 和其他系统中一样工作。

(从技术上讲,剪贴板是作为另一个选择实现的,因此所有与主要/次要选择一起使用的 CLI 工具也应该能够访问剪贴板。)

相比之下,主要选择是自动的,顾名思义,它包含您最后选择的任何文本。(通常只有文本进入主要选择——而不是图形或其他对象。)

您可能已经注意到,在 X11 中,在一个应用程序中突出显示某些文本会自动取消之前的突出显示,即使在其他应用程序中也是如此,这在 Windows 中是不会发生的。这是因为 X11 中的突出显示直接对应于“主要选择”(因此得名)。

您通常通过单击鼠标中键从主要选择进行粘贴。(对于带有滚轮的鼠标,滚轮也是中间按钮。对于只有两个按钮的鼠标或触摸板,同时按下两个按钮会模拟中间按钮。)

在终端中,Shift+Ins 通常从主选择粘贴,而 Ctrl+Shift+V 从剪贴板粘贴。(在其他程序中,Shift+Ins 会有所不同——它可以从剪贴板、主文件甚至是从剪切缓冲区粘贴。)

中学

二次选择的是没有在X11使用的遗物。

Emacs除外——它的工作方式类似于主要,但如果您按住 Alt 或 Meta 键。)

次要选择似乎来自于 X 之前的SunView图形环境,并且是 Sun 工作站独有的。SunView 有选择,就像现在的 X11 一样——它有主要、次要和架子(这是剪贴板的 SunView 名称)。

Sun 键盘没有使用组合热键(如 Apple 的 Ctrl+C 或 IBM 的 Ctrl+Ins),而是在左侧有几个专用的功能键:CutCopyPasteFind是真正的物理键。

在 SunView 中,次要选择的工作方式有点像主要选择,但它是通过按住功能键之一来调用的。例如,如果您将光标放在某处,然后按住Paste并选择一些文本,这将成为次要选择——释放粘贴确实会将文本粘贴到光标位置。

来自SunView 用户指南

6.7. 次要选择

一个次要的选择是你做出的同时按住功能键暂时的选择。当您松开功能键时,操作就会发生。此功能可以让你做很多CopyPasteCutFind快捷键与功能键。

次要选择始终带有下划线。只要您按住功能键,它就会持续。在此期间,您可以像调整主要选择一样调整次要选择。

您也可以在进行二次选择时滚动,只要您继续按住功能键。这样,您可以调整选择以包含当前在窗口中不可见的字符。

使用辅助选择,您可以执行需要源和目标的编辑操作,例如复制和移动文本。次要选择还允许您在不更改当前主要选择和插入点的情况下执行操作。

(本手册继续介绍 SunView 中主要和次要选择用法的示例,其中一些与 X11 非常相似。)

来自SunView 系统程序员指南,第 9.2 节

选择库处理通用术语“选择”下的四个对象。最熟悉的是主要选择,通常通过反转(“突出显示”)其内容在屏幕上指示。按住功能键(通常用下划线表示)时所做的选择是次要选择。选择库将Shelf 21(通过剪切22复制操作加载的全局缓冲区 ,并且可以通过粘贴操作检索 )作为第三种选择。最后,插入点,或插入符号, 也被视为一个选择,即使它没有内容。这些是选择库处理的四个等级:Caret、Primary、Secondary 和 Shelf。

(基于此,SunView 中的“架子”大致相当于 X11 中的“剪贴板”。)

剪切缓冲区

那些回到 X10,与选择不同。到目前为止,我没有太多关于它们的信息,只是你不应该关心它们。

只有一些古老的 X 程序(例如那些用 libXaw 编写的程序)使用剪切缓冲区,而 Shift+Ins 是从其中粘贴过来的。


也可以看看:

  • X 选择、剪切缓冲区和终止环**

    剪贴板:用于当用户明确复制某些内容时(例如,“编辑/复制”菜单项。)
    主要:更短暂和隐含:用于当用户突出显示或选择某些内容(例如,将鼠标拖到一些文本。)
    剪切缓冲区:已过时。永远,永远,永远不要使用它们。曾经。

  • 维基百科关于X 窗口选择的文章说,只有剪切缓冲区是根窗口的窗口属性,命名CUT_BUFFER1等。