![如何粘贴不带格式的文本?](https://linux22.com/image/1186259/%E5%A6%82%E4%BD%95%E7%B2%98%E8%B4%B4%E4%B8%8D%E5%B8%A6%E6%A0%BC%E5%BC%8F%E7%9A%84%E6%96%87%E6%9C%AC%EF%BC%9F.png)
答案1
您定义为“格式化”,即由于空格或制表符而产生的换行符或空白,是不是格式。这些由诸如回车符、空格符或制表符之类的字符表示。
粘贴到 gedit 或终端时,这些字符会被保留。文字处理器可能包含的格式代码不会被保留。
您唯一的选择是在将文本粘贴到目标之前对其进行更改。在文本编辑器中,您可以替换制表符、多个空格、换行符。这是 Linux,也可能是自动化(感谢 Lumo 提供链接)。
可以执行此操作的脚本可以归结为:
#!/bin/bash
SelectedText="$(xsel)"
ModifiedText="$(echo "$SelectedText" | \
sed 's/\.$/.|/g' | sed 's/^\s*$/|/g' | tr '\n' ' ' | tr '|' '\n')"
echo "$ModifiedText" | xsel -bi
第一行将剪贴板中的当前文本复制到剪贴板。第二行对其进行修改(在此脚本中,只处理新行,没有空格或制表符),第三行将结果放回到剪贴板,准备粘贴。
将此类脚本放入您的 中~/.local/bin
,使其可执行,然后将其绑定到快捷键。从 PDF 复制文本后,请记住在粘贴之前按下该快捷键。
当前示例仅适用于 Xorg。Ubuntu 21.10 默认为 Wayland。xclip
或者xsel
不适用于 Wayland,因此应使用软件包中的wl-copy
和进行替换。wl-paste
wl-clipboard