Gnome终端 - 如何自动将选择复制到剪贴板?

56

我希望让gnome-terminal在用户选择终端上的区域(使用鼠标或鼠标键)时自动将其复制到剪贴板中。这是否可能?如果可以,如何操作?


2
这对我来说是默认行为... - Pascal Thivent
1
mmmkey。我有一种感觉,这在 Gnome 终端下不可能实现(与 Putty 不同)。如果是这样的话,我想我只需要在 terminal-window.c 的 selection_changed_callback 函数中添加半打行代码。如果有人持不同意见,请在此回答;否则,我将只需对 Gnome 终端源代码进行更改并重新构建它。 - OTZ
1
在我的 Fedora 23 上,使用 Gnome 终端 3.18.3
<Shift>+选择一行或 <Shift>+<Ctrl>+选择以“复制”。
完成后,您可以使用 <Shift>+<Insert> 在另一个终端中插入,或在其他任何地方使用中键单击。
- statquant
10个回答

52

有可能。

sudo apt-get install parcellite

然后在设置中勾选“使用主剪贴板”和“同步剪贴板”。 就可以了。


9
Linux不仅仅是Ubuntu和Debian。 - qdii
16
虽然确实如此,但这会引导人们朝着有价值的方向前进。在 Fedora 等系统中,“yum install parcellite” 可行,但这仍未涵盖所有 Linux 版本。以下是其他人使用的官方项目链接:[link]http://parcellite.sourceforge.net/ - redreinard
在此网站的“安装指南”部分找到CentOS 6.6的步骤(http://pkgs.org/centos-6/repoforge-x86_64/parcellite-0.9-1.el6.rf.x86_64.rpm.html)。 - jtooker
7
请注意,Parcellite中的“同步剪贴板”设置将在您在文本编辑器中选择内容(例如Sublime Text)时覆盖您的剪贴板,即使您使用键盘进行选择也是如此。因此,如果您是开发人员,我不建议使用Parcellite。 - psmith
4
在CentOS 6.7的Parcellite 0.9-1中没有“同步剪贴板”选项。相反,通过yum安装了Clipit(1.4.2);它有这个选项,并且一切正常工作。顺便说一句,“设置”(实际上是“首选项”)可以通过单击系统托盘中的剪贴板图标来访问。 - Dmitri
显示剩余5条评论

44

它应该在X11剪贴板中(不是GTK剪贴板)。按下鼠标中键即可粘贴。


2
gnome-terminal 经常无法复制所选内容。这就是为什么我希望它足够强大,以便每次选择文本时,都会将其复制到剪贴板中。我知道有关中键粘贴的信息。 - OTZ
5
更确切地说,我希望在选择文本以将其复制到剪贴板时,可以省略右键单击>"复制"的操作。 - OTZ
1
@jacktrades:在Linux上,通常可以配置双键鼠标,使得通过和弦点击来模拟中键单击。 - unutbu

15

解决方法:使用Clipit时。 右键单击/首选项/设置: 检查:使用主剪贴板和同步剪贴板。

还可以将快捷键“Ctrl重音符”用于管理热键(重音符为`),如果您曾经使用过来自Windows的Ditto,则可以这样设置。如果没有,拥有所有以前的复制内容并可搜索非常方便。


4
墓穴不是“~”,那被称为 波浪号墓勾号Grave accent)是一种重音符号,在Unix世界中通常用作命令字符串的指示器。 - Caleb
clipit似乎不再起作用了 - 推荐使用diodon。 - Goblinhack

8
由于您似乎来自Windows环境,希望您知道在X环境下复制和粘贴的方式与Windows有所不同。如果不了解,请参考Jamie Zawinski关于此主题的优秀文章X Selections, Cut Buffers, and Kill Rings进行快速介绍。
简而言之,当您选择一些文本时,它会成为Primary selection(而不是Clipboard selection)。正如其他人指出的那样,您可以使用中间鼠标按钮从Primary selection中粘贴。但请注意,如果关闭提供选择的应用程序(在您的情况下为终端),则选择实际上被“丢失”。
您还可以在Gnome终端中使用Shift+Ctrl+C显式“复制”某些内容。

谢谢您提供的解决方案,不需要更多的软件。Ctrl+Shift+C 对我来说是新的 :) - Kevin

5

在我的 Fedora 23 上,使用 Gnome 终端版本为 3.18.3

  • 要选择整行,按下<Shift>+Selection
  • 要选择整块,按下<Shift>+<Ctrl>+Selection

完成以上步骤后,你可以这样操作:

  • 在另一个终端中插入内容,按下<Shift>+<Insert>
  • 在其它地方则可以用鼠标中键点击。

为了让事情变得更加复杂,我发现在gnome-term中,使用 <Shift>+<Ctrl>+<Insert> 从主剪贴板粘贴,而使用 <Shift>+<Insert> 从选择剪贴板粘贴(就像 <middle-click>)。在其他应用程序中,<Shift>+<Insert> 从主剪贴板粘贴,而不是选择剪贴板。 - Justin Wrobel

3
在过去,gnome-terminal的默认行为也是这样 -- 但后来可用性专家获得了Linux发行版,并认为复制和粘贴对于内核程序员参与来说太过危险了。但是,在Fedora(至少)上,它最近回来了 -- 在终端中右键单击并转到“输入法”,选择“X输入法”-- 现在可以使用高亮复制。如果您有一个三按钮鼠标,可以使用中间按钮进行粘贴(如上所述),但要获取右键粘贴,则可能会...

在 openSUSE 12.3 中选择“简单”作为输入法是有效的,谢谢! - ismail

2
我一直在寻找一种方法来模拟在默认的Ubuntu终端中像Putty一样的行为:
  • 左键单击以选择文本并将其复制到剪贴板中
  • 右键单击以粘贴剪贴板的内容
我唯一找到的解决方案,完美地解决了这个问题,就是打补丁到Gnome终端(正如你所猜测的那样)。

0

我在superuser上的回答:https://superuser.com/a/1721880/1694169

将以下内容添加到~/.Xresources(如果不存在则创建)对我有用:

xterm*selectToClipboard: true

只需注销并重新登录或重启即可。选择的文本将自动复制,您可以使用中键单击粘贴(当在Gnome-Tweaks中启用中键单击时)


0

你也可以安装pterm,这是一个类似于Putty的终端仿真器,它允许使用中间按钮单击将当前选择粘贴。


0

我使用Debian Wheezy和Gnome终端,发现一个好的解决方案是安装xsel,它在终端中提供了正确的复制功能。

鼠标左键拖动以选择/复制文本到剪贴板,然后我使用shift+insert键将其粘贴到vim中,这些键在Gnome终端菜单中定义为编辑、键盘快捷键。如果需要,您可以定义替代键。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接