osx – 将当前命令的bash提示复制到剪贴板

我想要一个快速的键盘命令序列将当前命令在bash提示符复制到剪贴板.

所以,例如,要将最后一个bash命令复制到剪贴板,我会按[某些命令序列]将其复制.或者,例如,要在bash理论中搜索命令,我将使用ctrl r,搜索,在命令提示符下显示,然后[某些命令序列]复制等.

我目前的解决方案是使用bash管道:Pipe to/from Clipboard

所以,将以前的命令复制到剪贴板:

echo "!!" | pbcopy

哪个不太可怕,但如果复制命令不是最后一个命令,等等

实现我在这里要实现的正确方法是什么?

以@ Lauri的帖子为灵感,这里是一个使用bind命令的解决方案:

bind '"\C-]":"\C-e\C-u pbcopy <<"EOF"\n\C-y\nEOF\n"'

ctrl-]然后将任何当前的bash提示复制到剪贴板.

为了使其持久化,您可以将上面的bind命令添加到〜/ .bashrc中,也可以删除外部引号并删除调用的“bind”部分,并将结果添加到〜/ .inputrc.

非OS-X用户将必须使用适当的命令(可能是xclip)交换pbcopy.

引用的heredoc被使用,而不是回声管技术,以便在bash提示符下的命令中保留单引号和双引号.使用这种技术,例如,我能够点击ctrl-],从终端提示符复制实际的bind命令,并将其粘贴到答案中.所以heredoc技术处理bind命令中的所有特殊字符.

翻译自:https://stackoverflow.com/questions/14177700/copy-current-command-at-bash-prompt-to-clipboard

转载注明原文:osx – 将当前命令的bash提示复制到剪贴板