
用 Pandoc 和命令行工具把 Markdown 格式化后粘贴到任意应用
来源标题:Paste Markdown formatted anywhere (Linux)
一种在 Linux 上把 Markdown 转成富文本再粘贴的方法:用 pandoc 将 Markdown 转为 HTML,并通过 xclip(X11)或 wl-clipboard(Wayland)以 text/html 格式写回剪贴板,粘贴到 Outlook、Gmail、Google Docs 等编辑器时即可显示标题、加粗、列表、链接和表格。作者还把两种显示服务器的命令封装成 ~/bin/md2clip 脚本。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
我几乎什么都用 Markdown 写:笔记、文档、PR 描述,甚至邮件草稿。麻烦从我把这些 Markdown 粘贴到 Outlook、Gmail 或 Google Docs 时开始——结果满屏都是 星号 和 ## 井号,实在不好看。
我想要的东西特别简单:复制一段 Markdown,按一个键,然后就能把排版好的文本粘贴到我正在用的任何应用里。
秘诀在于把结果以 text/html 的形式放回剪贴板。几乎所有富文本编辑器在粘贴时都会检查这个类型,所以它会渲染格式,而不是显示原始文本。这涵盖了:
sudo apt install pandoc xclip # X11 sudo apt install pandoc wl-clipboard # Wayland
一行命令搞定
在 X11 上:
xclip -selection clipboard -o | pandoc -f gfm -t html | xclip -selection clipboard -t text/html
在 Wayland 上:
wl-paste | pandoc -f gfm -t html | wl-copy --type text/html
就这样。复制你的 Markdown,运行命令,然后粘贴到邮件或文档里。标题、粗体、列表、链接和表格都能正确显示。
我不想每次都去记自己在哪个显示服务器上,所以把两个版本包进了 ~/bin/md2clip 这个小脚本里:
#!/usr/bin/env bash set -euo pipefail if [ -n "${WAYLAND_DISPLAY:-}" ]; then wl-paste | pandoc -f gfm -t html | wl-copy --type text/html else xclip -selection clipboard -o | pandoc -f gfm -t html | xclip -selection clipboard -t text/html fi
chmod +x ~/bin/md2clip
把它绑到一个快捷键上
真正好用的地方在这里。打开桌面环境的键盘快捷键设置,把 md2clip 绑到 Super+M 之类的组合键上。现在整个流程就是:
不用浏览器扩展,不用在线转换器,也不用折腾。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。