如何在不使用鼠标的情况下有效地将在命令行输入的文本发送到系统剪贴板?

假设我在命令行中输入了以下long命令

$ some very long command that I want to copy to the clipboard 

如何有效地将其放入系统剪贴板? 我正在使用Gnome Terminal 2.23.1。

我知道我可以获得鼠标并突出显示并复制它,但我想要一个通用的键盘解决方案。

如果它推广到多个命令行程序也会很好。

例如,在vi模式下的bash中,我可以按v然后在vim中编辑命令,从而使用Vim的副本到剪贴板function,但是在命令行中使用R时这不起作用。 它也有点慢。

我喜欢它,如果在vi模式下,我可以按yy并将该行的内容复制到系统剪贴板,但这似乎不起作用。 此外,任何yanking命令似乎都不会将内容复制到系统剪贴板; 它们似乎只复制到bash使用的缓冲区。

更新:

发帖后我发现了

  • 关于SO的类似问题
  • 关于readline修改的这一有希望的讨论

您也可以使用像parcellite这样的剪贴板管理器。 它是一个GTK +剪贴板管理器,它还具有命令行剪贴板function

您可以通过命令行使用它

 echo "some very long command that I want to copy to the clipboard" | parcellite ##or## parcellite "some very long command that I want to copy to the clipboard" 

默认情况下不会安装它,因此您必须通过sudo apt-get install parcellite

所以我能够得到的关闭是通过使用历史和xclip这样做

echo !! | xclip

这会将最后一个命令放在中心按钮剪贴板上。 我仍然在寻找更好的东西,因为我想把它归结为一个命令。 但是我挂了,因为历史记录在shell脚本中不起作用,我不知道有办法使用!! 恰好用别名。 当然,这似乎并不是你要求我用它来记录我正在做的事情。 有没有?

您应该可以使用Ctrl + Shift + C进行复制,使用Ctrl + Shift + V进行终端中任何位置的粘贴。