无法从Netbeans粘贴到Gnome终端

当我从另一个窗口复制内容,然后想将其粘贴到我的终端(命令行),编辑菜单中的粘贴选项是灰色不可用的。GNOME Terminal 2.29.6 中无法使用 Ctrl+V 快捷键进行粘贴。
我尝试从NetBeans复制到终端。如果我在其他地方粘贴,比如gedit,它就可以粘贴成功。所以复制操作是有效的。
使用 Ctrl+Shift+C/V 也无效。
这是某种设置问题吗?

你在使用什么终端应用程序?是Gnome-Terminal还是其他的类型? - Marco Ceppi
只是一个gnome终端:GNOME终端2.29.6 Ubuntu 10.04干净安装(不是从9.10升级) - eddy147
奇怪的是,我只在家里有这台笔记本电脑(索尼VAIO - 最新的10.04安装)。在工作中(戴尔 - 同样是最新的10.04安装)没有问题。 - eddy147
12个回答

你在粘贴到终端时需要添加一个Shift键: Ctrl+Shift+V 如果只是复制选定内容,使用C键即可:

Ctrl+Shift+C

Shift是在使用Gnome终端时的快捷键。

或者你可以右键点击->粘贴


5听起来很合理,但在这种情况下却行不通。请查看我的其他评论。 - eddy147
1你可以在Gnome终端中配置你的按键绑定(编辑 -> 键盘快捷键..),确保Shift-Ctrl-C和Shift-Ctrl-V被绑定上(或者你喜欢的其他组合键)。 - mkm
如果你有的话,你也可以使用鼠标滚轮按钮... - jvriesem

我在从Netbeans复制到终端时遇到了同样的问题。看起来当你在Netbeans中使用Ctrl+C复制时,它不是以纯文本格式复制的,所以无法粘贴到要求这种格式的终端中(这是基于我的经验做出的假设)。
那么,该怎么办呢?只需从Netbeans中复制,然后将其粘贴到某个文本编辑器中,如gedit,再次复制并粘贴到终端即可。

下面的其他答案,目前得票较少,更简单。例如,只需使用中键点击(如用户10244所述)或在此处查看:http://askubuntu.com/questions/7769/keyboard-shortcut-for-pasting-the-primary-selection - MountainX
@eddy147:Marco Ceppi的回答应该被接受。 - jvriesem

Ctrl+V在终端中不是一个绑定的组合键。终端应用程序会忽略键盘事件并将其传递给正在运行的程序。这是可取的,因为您不希望终端窗口干扰您的键盘事件。

右键单击并点击粘贴。或使用主要选择(选中一些文本然后中键单击)。

编辑:我刚刚学到了一些东西!如果您想要键盘输入方法,Shift+Insert将起作用。它是基于主要选择的插入方法,所以只需选中文本然后进行操作。

编辑2:我无法停止学习新事物!正如ændrük所说,Ctrl+Shift+V可以作为正确的剪贴板粘贴。所以您有很多选择。它们只是不是标准的组合键。


1+1 对于“shift”+“insert”。这在任何地方都有效,并且是我首选的粘贴方法。它将粘贴你剪贴板中最后一次复制或选择的内容(即:如果你高亮了某个内容,它会粘贴该内容;否则,它会粘贴你最后一次复制的内容)。 - aperson
实际上,在nano终端编辑器中,Ctrl+V是绑定的。 - CoderMe

tldr- 使用 Shift+Insert Ctrl+CCtrl+V 是为图形用户界面应用程序创建的键盘快捷键。显然与Xerox有关。
在出现 Ctrl+CCtrl+XCtrl+V 之前,有以下快捷键: Ctrl+InsertShift+DeleteShift+Insert 它们是由IBM Common User Access在1987年定义的。
这些快捷键通常适用于现代快捷键无法使用的情况,例如终端。

Oli和user1974建议使用主要选择(一种X窗口功能),但我需要以下细节:

1.) 在NetBeans中突出显示文本(不用担心复制)

2.) 在GNOME终端中使用中键单击将其粘贴到那里

其他建议对我无效,但这个方法非常有效。在netbeans.org上已经提交了一个bug


好答案。这里还有几种方法可以做到:http://askubuntu.com/questions/7769/keyboard-shortcut-for-pasting-the-primary-selection - MountainX
就是这些小事情,比如有两个复制缓冲区,让我一直使用Linux。 - user423626

你还可以更改系统的默认按键映射,这样你就可以在终端中使用Ctrl+V了。

Edit->Keyboard Shortcuts


这是正确的答案!编辑->键盘,然后更改设置!太棒了! - IanVaughan
如果您这样做,您还应该考虑重新映射intr(以前是CTRL-C)命令。我使用echo "stty intr \^b" >> ~/.bashrc,其中b代表"break" - 或者选择任何其他不用于重要事物的字母。对我来说,最大的生产力提升之一就是在终端中对默认的复制和粘贴快捷键进行这个简单的更改。我会在所有电脑上第一时间这样做。 - MountainX
从Ubuntu 13.04开始,似乎快捷选项不再存在了! - IanVaughan

我在Rubymine中遇到了同样的问题,无法使用CTRL-SHIFT-V从Rubymine复制并粘贴到终端。考虑到我每天要做这个动作十几次,我对每次都复制到gedit然后再复制到终端不感兴趣,所以我找到了一个不需要这样做的解决方案:

http://www.williambharding.com/blog/technology/fix-it-ubuntu-ctrl-shift-v-wont-paste-into-terminal/

短篇故事:OpenJDK与剪贴板不兼容。我猜这个问题可能也适用于Netbeans和Rubymine,因为它们都是通过Java虚拟机运行的。

2PhpStorm - 同样的故事。这是一个openjdk的问题。切换到sun java解决了这个问题。 - Dziamid
@Dziamid,感谢你提供了这些答案中其他地方所提到的可怕解决方法的替代方案。 - nem75
@wbharding,你可能想考虑在你的回答中加上“切换到Sun Java”的建议。就我个人而言,我没有去阅读链接,但是从Dziamid的评论中找到了解决方案。这样或许能够获得更多的赞同票。 - nem75
这个问题在OpenJDK的bug报告中有吗? - Thorbjørn Ravn Andersen

通过用鼠标选中文本来复制文本。通常你可以使用Ctrl+C或右键点击选择,然后从弹出菜单中选择“复制”。

通过点击鼠标中键来粘贴文本。在许多地方也可以使用Ctrl+V,Shift+Insert也可以。

当这些方法不起作用时该怎么办

问题出现在不同的应用程序使用不同的剪贴板时。你成功地将文本复制到应用程序A的剪贴板中,但当你转到应用程序B进行粘贴时,它会尝试从另一个剪贴板粘贴。在Windows中,所有应用程序都使用相同的剪贴板。

有几种解决方案。可能最容易实现的是安装Parcellite。

安装Parcellite

sudo apt-get install parcellite

运行parcellite
parcellite&

系统托盘中会显示一个剪贴板图标。
使用Parcellite:
1. 复制一些文本。 2. 点击系统托盘中的剪贴板图标,并从菜单中选择所需内容。 3. 粘贴您的文本。

这是gnome-terminal的一个bug。你可以尝试使用xfce4-terminal。

谢谢提供另一种选择。 - eddy147

听起来好像文本实际上并没有被复制。如果剪贴板上有可粘贴的内容,那么编辑 -> 粘贴将可点击。
在Gnome终端中,通常用于粘贴的键盘快捷键是Ctrl+Shift+V。

我也是这么想的,但它是复制的。 我试着从NetBeans复制到终端。如果我将其粘贴到其他地方,比如gedit中,它就会被粘贴上。所以它是复制的。 - eddy147