残念ながら、5年前の質問をもう一度見てみましょう。
まだ答えがありません。
私は現在Clipboard ManagerとしてCopyQを使用しており、ほとんどの場合うまくいきます。
CopyQ FAQから:
https://copyq.readthedocs.io/en/latest/faq.html#how-to-store-only-plain-text
残念ながら、このソリューションは機能しません。 LibreOfficeで文書を作成し、フォントとフォントサイズを変更し、LibreOfficeからコピーしてGmailに貼り付けると、同じフォントとフォントサイズが維持されます。
私いいえこんなことが起きてほしい。コピー/貼り付けがプレーンテキストでのみ行われるようにしたいと思います。いつも。
過去5年間、私の解決策はvimに貼り付けてからもう一度コピーすることでした。これは明らかに時間がかかり、残念なことです。
ここで解決策は何ですか? x.orgレベルのものが理想的なので、クリップボードマネージャとは無関係です(そしてクリップボードマネージャなしで動作します)。
追加のキーボードショートカットも必要なく、一般的な単純な ctrl+c、ctrl+v だけで済みます。
ベストアンサー1
少数のプログラムのみが影響を受ける場合は、貼り付けコマンドを再バインドできます。たとえば、LibreOfficeにはプレーンテキストとして貼り付けるオプションがあります。他のプログラムにも同様のオプションがあります。
プレーンテキストに変換できるクリップボードマネージャを見つけることができませんでしたが、過去にこの機能を使用していたいくつかの機能がわかります。一部のクリップボード管理者はタスクを実行できますが、自動的に実行する方法がわかりません。
だから自分で試してみてください。ほとんどの場合、次のコマンドはクリップボードの内容をプレーンテキストに変換します。主な例外は画像データです。
xclip -o -selection "clipboard" | xclip -i -selection "clipboard"
これにより、クリップボードの変更を確認し、自動的に内容を整理するスクリプトを実行できます。クリップボードマネージャを使用すると、重複したアイテムが作成されます。フォーマットされたバージョンとフォーマットされていないバージョンに分けられます。
#!/usr/bin/env bash
while true ; do
clipsum_new=$(xclip -o -selection "clipboard" 2> /dev/null | md5sum --)
if [[ $clipsum_new != $clipsum_old ]] ; then
echo "Clipboard contents changed."
clipboard=$(xclip -o -sel "clipboard" 2> /dev/null)
if [[ $clipboard == "" ]] ; then
echo "Clipboard empty or contains non-text data."
elif [[ $clipboard =~ ^/.* ]] ; then
echo "Clipboard may contain file paths."
else
echo "Sanitizing clipboard"
xclip -o -selection "clipboard" | xclip -i -selection "clipboard"
fi
# save new checksum for future comparison
clipsum_old=$(xclip -o -selection "clipboard" 2> /dev/null | md5sum --)
fi
# limit polling rate
sleep 1
done