如何从 X 剪贴板获取富文本或 HTML 源代码?例如,如果您从 Web 浏览器复制一些文本并将其粘贴到 kompozer 中,它将粘贴为 HTML,并保留链接等。但是,xclip -o
对于相同的选择,只会输出纯文本。我想将 HTML 拉出并放入文本编辑器中。
答案1
你也可以:
- 从格式化的源复制。
- 运行此命令从剪贴板中提取,转换为 HTML,然后(使用管道
|
)将该 HTML 放回剪贴板,再次使用相同的方法xclip
:
xclip -selection clipboard -o -t text/html | xclip -selection clipboard
- 接下来,当您使用Ctrl+粘贴时v,它将粘贴 HTML 源代码。
更进一步,你可以把它变成捷径,这样你就不必每次都打开终端并运行精确的命令了。✨
要做到这一点:
- 打开你的操作系统的设置(我这里是 Ubuntu)
- 找到键盘部分
- 然后找到快捷方式部分
- 创建新的快捷方式
- 设置姓名,例如:
Copy as HTML
- 然后作为快捷方式的命令,输入:
bash -c "xclip -selection clipboard -o -t text/html | xclip -selection clipboard"
笔记:请注意,它与上面的命令相同,但放在内联 Bash 脚本中。这是必要的,以便能够使用|
(管道)将一个命令的输出作为下一个命令的输入。
- 将快捷键设置为您想要的任意组合,最好不要覆盖您使用的其他快捷键。就我而言,我将其设置为:Ctrl++Shiftc
- 此后,您可以正常复制一些格式化的文本:Ctrl+c
- 然后,在粘贴之前,使用以下命令将其转换为 HTML :Ctrl++Shiftc
- Ctrl接下来,当您使用+粘贴时v,它会将内容粘贴为 HTML。
答案2
在回答对于这个问题的 stackoverflow.com 分支,我建立了一个ghetto 命令行客户端来获取该信息。
用法
clipcli [-h] [-f FILE] [-d] [-l] [TARGET]
positional arguments:
TARGET display the contents of this target
optional arguments:
-h, --help show this help message and exit
-d, --debug enable debug tracing
-f FILE, --file FILE the file to which output will be directed
-l, --list list available targets
例子:
$ clipcli text/html
some text with <em>emphasis</em>
其工作方式,甚至不同目标的可用性,似乎很大程度上取决于提供剪贴板数据的应用程序。更多信息请访问stackoverflow 问题。
答案3
对你有用吗xclip -o -selection secondary
?xclip -o -selection clipboard
这些可以缩写为
xclip -o -se s
和
xclip -o -se c