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


14

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

 $ 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该行的内容,然后将其复制到系统剪贴板中,但这样做似乎不起作用。此外,任何拉动命令似乎都不会将内容复制到系统剪贴板。它们似乎只复制到bash使用的缓冲区中。

更新:

发布后我发现


1
:不完全是你问:使用屏幕就可以实现你问下这个答案是什么askubuntu.com/questions/56570/...
enzotib

遵循此答案(askubuntu.com/a/503861/43594),可以在Universal Access中启用鼠标键,并使用数字小键盘来移动鼠标,数字5可以单击。快速双击时,它将选择指针悬停的单词。快速单击三次后,它将选择整行。这以及有关如何复制的答案(Ctrl-Shift-C)应该可以满足您的大部分需求。
詹姆斯

Answers:


3

您也可以使用剪贴板管理器,例如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"

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


1
谢谢,至少当我重击时,我有时会用echo my command | xclip -se c;但是,当命令带有引号和其他特殊字符时,echo通常不会照原样复制该命令。
Jeromy Anglim

1

所以我能够获得的关闭是通过结合使用历史记录和xclip来完成的

echo !! | xclip

这会将最后一个命令放在中央按钮剪贴板上。我仍在寻找更好的东西,因为我想将其归结为一个命令。但是我挂了电话,因为历史记录在Shell脚本中不起作用,并且我不知道有一种!!在别名中正确使用的方法。当然,这似乎与您要求我的意图不完全是要用它来记录我在做什么。可以吗


此外,仍然存在如何复制带引号的命令的问题。
Jeromy Anglim 2011年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.