我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
当前回答
基于之前的文章,我最终得到了以下轻量级的别名解决方案,可以添加到.bashrc:
if [ -n "$(type -P xclip)" ]
then
alias xclip='xclip -selection clipboard'
alias clipboard='if [ -p /dev/stdin ]; then xclip -in; fi; xclip -out'
fi
例子:
# Copy
$ date | clipboard
Sat Dec 29 14:12:57 PST 2018
# Paste
$ date
Sat Dec 29 14:12:57 PST 2018
# Chain
$ date | clipboard | wc
1 6 29
其他回答
有一个方法可以在不安装xclip/xsel的情况下工作,如果您没有sudo访问权限,这个方法非常有用。
你只需要安装vimx,这是VIM +剪贴板支持。你可以在大多数发行版中找到它。
将脚本保存为~/copy_to_clipboard.sh,
#!/bin/sh
if [ -z "$1" ]
then
str=" "
else
str=$1
fi
vimx -u NONE -U NONE -N -c "let @a=\".\"" -c "let @*= \"$str\" " -c " put a " -c "sleep 2" -c " q!"
赋予执行权限:chmod +x ~/copy_to_clipboard 并调用它:
~/copy_to_clipboard.sh STRING
出于某种原因,您需要设置一个虚拟的@a寄存器,并将其粘贴到临时文件上。否则剪贴板寄存器将无法正确设置。 最后丢弃临时Vim文件。
你的剪贴板将被设置,你可以用鼠标中点击粘贴它
这是Arch Linux用户的一个很好的解决方案。用pacman安装xsel,如下所示:
sudo pacman -S xsel
在~/中创建别名。Bashrc文件,比如:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
用源代码重新加载终端:
source ~/.bashrc
像上面提到的那样使用它:
cat your_file.txt | pbcopy
供参考,在~/中填充所有别名是很好的做法。别名并在。bashrc文件中调用它
我制作了一个提供类似功能的小工具,但没有使用xclip或xsel。Stdout复制到剪贴板,并可以再次粘贴到终端中。看到的:
https://sourceforge.net/projects/commandlinecopypaste/
注意,这个工具不需要x会话。剪贴板可以在终端内使用,不需要通过Ctrl+V或鼠标中键单击粘贴到其他x窗口中。
在安装了xclip的Linux下:
Xclip -选择剪贴板<文件
我来自一个精简的KDE背景,没有访问xclip, xsel或其他花哨的东西。我有一个TCSH Konsole让事情变得更糟。
必备条件:qdbus klipper xargs bash
创建一个bash可执行文件foo.sh。
#!/bin/bash
qdbus org.kde.klipper /klipper setClipboardContents "$1" > /dev/null
注意:这需要bash,因为TCSH不支持多行参数。
后面跟着。cshrc. xml文件中的TCSH别名。
alias clipboard xargs -0 /path/to/foo
解释:
Xargs -0将stdin管道到单个参数中。该参数被传递给bash可执行文件,该可执行文件使用qdbus向klipper发送“复制到剪贴板”请求。通往/dev/null的管道是不将qdbus返回的换行符打印到控制台。
使用示例:
ls | clipboard
这将把当前文件夹的内容复制到剪贴板中。
注意:只适用于管道。如果需要复制参数,直接使用bash可执行文件。