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

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

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

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

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

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

如果它能够推广到多个命令行程序就更好了。

例如,在 vi 模式下的 bash 中,我可以按下v并编辑 vim 中的命令,从而使用 Vim 的复制到剪贴板功能,但在命令行中使用 R 时则不起作用。而且速度有点慢。

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

更新:

发帖后我发现

答案1

你也可以使用剪贴板管理器,例如parcellite。它是一个 GTK+ 剪贴板管理器,还具有命令行剪贴板功能

您可以通过命令行使用它

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"

它不是默认安装的,所以你必须通过以下方式安装 parcellitesudo apt-get install parcellite

答案2

因此,我能得到的结果是结合使用历史记录和 xclip

echo !! | xclip

这会将最后一个命令放在中央按钮剪贴板上。不过,我仍在寻找更好的方法,因为我想将其归结为一个命令。但是我被挂断了,因为历史记录在 shell 脚本中不起作用,而且我不知道有没有办法!!在别名中正确使用。当然,这似乎并不完全符合您的要求,因为我的目的是用它来记录我正在做的事情。有什么想法吗?

答案3

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

相关内容