典型场景:我想从文本文件中获取一个片段到我的终端(可能运行 VIM)。
现在我使用鼠标垫打开文件,选择片段,关闭鼠标垫,切换到 urxvt 并按Shift+Insert粘贴文本。 (与非终端应用程序相反,“正常”粘贴的作用相同,但我们暂时将其放在一边)。
IIRC,这个工作流程曾经完美地工作,直到某个时刻。现在,自从我关闭鼠标垫窗口的那一刻起,剪贴板的内容就丢失了,即恢复到原来的状态前。当然,我不想让窗口保持打开状态,这只会让桌面变得混乱(=随机失去我的注意力)。
忽略这个:这有什么道理吗?我很想认为这是某种安全措施,但坦率地说,这个想法对我来说似乎很可怕:我的意思是,它应该是剪贴板,对吗?不是 VCS 也不是密码管理器,只是一个普通的老式简单剪贴板。 (接下来,我们是否要在应用程序中拥有单独的光标?或者单独的选择?或者五只手?)
如何获得旧的正常剪贴板行为?顺便问一下,架构的哪一部分(X/GTK/Xfce/mousepad)负责这种行为?
事后思考:在阅读了前两个很好的答案加上链接的文章后,我意识到是的,行为可能已经改变,但更有可能的是我多年来一直误解剪贴板,而且更多的是关于我的工作流程的变化(即大量使用vim、ssh 和 urxvt 以及面向键盘的控制)导致我最近的绊脚石增加。 (当开发人员任意“改进”桌面工具的基础知识时,这不是自由开源软件可怕趋势的另一个例子,这让我感到宽慰。)
因此,虽然我期待“将其转回的开关”按照我理解的方式运行,即保留单独的“Ctrl+X/C/V”和“MMB”,但我将研究涉及 Grand 的解决方案统一。也许我需要调整我的工作流程,但至少我会了解我的工具。
答案1
Unix 有两个主要的“剪贴板”,PRIMARY
和CLIPBOARD
.更多信息请参见维基百科这PRIMARY
是“用鼠标中键单击选择并粘贴”X11 样式,这CLIPBOARD
是传统的复制和粘贴。每次您选择文本时,都会PRIMARY
获取该文本,并且当文本停止被选择时该文本就会丢失。这很有用,但需要培训,因为其他系统不需要激活选择,人们习惯于在粘贴之前单击周围,任何单击都会丢失选择。
因此,您想要的是在加载CLIPBOARD
新文件之前保留复制和粘贴。CLIPBOARD
主要问题是,当您要进行粘贴时,您可能会获得PRIMARY
或CLIPBOARD
内容,具体取决于应用程序及其使用方式。
不用担心,有许多应用程序可以通过同步两者甚至拥有历史记录来解决这种混乱PRIMARY
,CLIPBOARD
这对管理复制和粘贴有很大帮助。
有很多工具,例如用于 kde 和 gnome 的 Klipper 和 Glipper,但还有许多其他用于其他 WM 的工具,其中大多数都是独立于 WM 的。我用包裹岩,因为它简单且运行良好。在这里查看很多备择方案。
您还可以在网上搜索“剪贴板管理器”以获取更多信息和应用程序
答案2
您遇到的情况是由于在 X Windows 环境中存在多个剪贴板(实际上是 3 个):
- 剪贴板
- 基本的
- 中学
如果您有兴趣,这里有一个很好的背景入门知识,标题为:X 剪贴板的微妙之处。
本 U&L 问答题为:如何只使用一个统一的剪贴板?讨论如何统一剪贴板以及一些可以使用的第三方剪贴板管理器,即(xclip、parcelite 等)。
您应该在应用程序 → gnome-terminal → 键绑定下检查gconf-editor
以确保粘贴设置正确。