X Window的文本复制与粘贴 ========================== 我们都知道在 Windows 下可以使用 ``Ctrl-C`` 和 ``Ctrl-V`` 来对选定文本进行复制与粘贴,而在 X Window 下,有着完全不同的粘贴模式。 X Window 文本传输机制 --------------------- 在X中,存在Slection, Cut Buffer 以及 Drag and Drop 三种机制用于在不同客户端之间传送文本。其中Selection最为常用,也与 Windows 中的复制粘贴最为相似。 剪切板 ------- Selection 机制允许用户在某一客户端中选中文本,并在另一客户端中使用这段文本,文本的传输通过两个客户端依照通信协议 (ICCCM) 完成。 此外,X 设定了两种文本选择方案,分别称为 ``PRIMARY`` 与 ``CLIPBOARD`` ,可以把它们看作两个不同的系统剪切板。 当用户在客户端内选中文本时,文本内容即会被放入 ``PRIMARY`` 中,而若想将文本放入 ``CLIPBORAD`` 中,则需要在客户端内显式地执行复制命令,比如右键后选 ``copy`` 。 文本粘贴 -------- 两个剪切板有各自的文本粘贴方式。若想粘贴 ``PRIMARY`` 中的内容,大多客户端中可以使用鼠标中键或者按 ``SHIFT-Ins`` ,如果想粘贴 ``CLIPBOARD`` 中的内容,需要显式地执行粘贴命令,比如右键菜单或编辑菜单中的粘贴选项。 需要注意的是,如果想在 Vim 中使用系统剪切板,需要在编译时添加 ``+xterm_clipboard`` 选项,添加后方可以用 ``"+gP`` 粘贴 ``CLIPBOARD`` 中的内容。 参考 ---- http://en.wikipedia.org/wiki/X_Window_selection