iBooksに常にコピーしたものの「抜粋」を貼り付けたくない


30

iBooksやその他のリソースを読んで、EverNoteでメモを収集します。iBooksからテキストをコピーして、EverNoteのような他の外部アプリケーションでメモとして保存する場合、ソース情報が貼り付けられてしまい、とても面倒なので、コピーアンドペーストするたびに削除し続ける必要があります。例えば:

“To bind this class using Ninject, I specify the value of the constructor parameter using the WithConstructorArgument method in the AddBindings method, as shown in Listing 6-20.”

Excerpt From: Adam Freeman. “Pro ASP.NET MVC 5.” iBooks. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=4CB3769B56E7D2A905C0332D53D7E31D

2
これは避けられません。アップルは、法律と著作権のためにそのようにプログラムしました。あなたにとって悪いニュースはそれに慣れる必要があります。:-(
konqui 14

...しかし、あなたは編集テキストコピー+プロセスを貼り付けることができれば、私はよく分からない-あなたはAutomatorのスクリプトを構築することができて
bMalum

3
あなたが実際にフレーズをコピーする権利を持っているとき、それは本当に迷惑です: '(
ルーベンス・マリウッゾ

1
ここに来たのは、Swiftの本の例から貼り付けるのが面倒だからです。Kindleのすべてのプログラミング本を除き、iBooksから文献を入手するもう1つの理由。
ダークベスター

2
@konqui彼らは、その権利を削除できることを知っています。それはあまり賢くない。これは、基本的なタスクの面倒な決まり文句です。
アティルカン

回答:


11

このブログ投稿では、Automatorスクリプトとキーボードショートカットを使用して実行する方法の例を示します。

Automatorで、入力を受け取らない新しいサービスを作成します。次の3つのアクションを指定します。

  1. クリップボードの内容を取得
  2. シェルスクリプトを実行する
  3. クリップボードにコピー

これをRun Shell Scriptアクションに追加します。

# strip out iBooks citation
sed -E -e 's/^[ ]?[0-9]* //g' | sed -E -e 's/“[ ]?[0-9]?[ ]?//g' | sed -E -e 's/”$//g'  | sed -E -e 's/^(Excerpt From).*//g'

Automatorの「iBooksの引用を削除」サービス

サービスを保存した後、I[システム環境設定]> [キーボード]> [ショートカット]> [サービス]で、このアクションへのショートカットを割り当てることができます。次に、iBooksが追加したテキストを削除する場合は、貼り付ける前にそのショートカットをヒットします。


Amir、ありがとうございました。これは長年私を悩ませてきました!
GGx-モニカチェリオを

それは本当に本当に問題ではありませんか?コピーした他の何かに正規表現の一致がある場合はどうなりますか?
t0mgs

@ t0mgsは、あなたは、単に貼り付ける前に割り当てられたショートカットを使用していない
マーティン

正当だと思う。ありがとう!
t0mgs

5

Keyboard Maestroを使用して、次のAppleScriptをトリガーできます。

set original_clipboard to the clipboard
set paragraph_count to count of paragraphs of original_clipboard
-- assuming the last two paragraphs are what you want to strip out--
-- that is, the blank line and the attribution
set new_clipboard to paragraphs 1 thru -2 of original_clipboard as string
set the clipboard to new_clipboard
-- now you can paste

Keyboard Maestroでは、いくつかのキーストローク(おそらくCommand-Option-V)によってトリガーされる新しいマクロを作成します。最初のステップは、上記のスクリプトを使用した(Executeセクションの) "AppleScriptの実行"です。次のステップは「クリップボード」セクションの「貼り付け」です。テキストをコピーしてから、貼り付けたい場所をクリックし、Command-Option-Vを押して、最後の2段落なしで貼り付けます。

AppleScriptの実行方法を知っている限り、他のマクロプログラムも機能します。


ソリューションを使用しましたが、最終結果には引用符が含まれています。周囲の引用符が削除されるように、どうすればそれを取り除くことができますか?
マイケルジャク

外部プログラムさえ必要ないはずです。AppleScriptを自動化サービスに入れてから、自動化サービスをキーボードショートカットに設定してください。
Wowfunhappy

@MichaelJaq 私の答えには、引用符も削除するKeyboard Maestroのマクロが含まれています。
ロリーオケイン

@MichaelJaqでは、このスレッドのシェルスクリプトでこのメソッドを使用すると、引用が削除されます。「AppleScriptを実行」を「シェルスクリプトを実行」に変更します。このAppleScriptはそれらを削除しなかったので、結果は部分的です。
MarkBTomlinson

3

ClipMenu(macOSクリップボードユーティリティ)用のスクリプトを作成して、不要な情報を削除しました。

return clipText.replace(/^“/, '').replace(/”\s*Excerpt.*iBooks\.\s?$/, '');

名前を付けて保存 /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js


3

iBooksからテキストをコピーする手順は次のとおりです。

  1. コピーしたい文章をハイライトします。
  2. ポップアップが自動的に開く、選択したパッセージを右クリックしてポップアップを開く必要があります。
  3. ポップアップから「メモを追加」オプションを選択します。
  4. 選択/強調表示されたテキストが左ペインに表示されます。
  5. 左パネルのパッセージを右クリックして、「コピー」オプションを選択します。

私はそれがどのように機能するかを示すビデオを作成しました:https : //youtu.be/ZQLl_Gl9TMw

ハッピーコーディング!


>選択/強調表示されたテキストが左ペインに表示されます。左のペインは何ですか?これは間違っています。左ペインexstsなし

3

キーボードマエストロマクロを設定して、iBooksからテキストがコピーされた瞬間に、引用符を含む余分なテキストを削除する方法を次に示します。

最初に、「iBooks固有のマッピング」というマクログループを作成し、「これらのアプリケーションで使用可能」内にiBooksを追加します。(最新のmacOSバージョンでは、アプリケーションの名前はiBooksではなくBooksになります。)

Keyboard Maestroの「iBooks固有のマッピング」グループ

次に、「引用なしでコピー」という名前のマクロを作成します。ホットキーを割り当てますC。マクロに次のアクションを与えます。

  1. クリップボード>コピー
  2. クリップボード>検索と置換
    • 検索:システムクリップボード
    • for:正規表現(大文字と小文字が区別されます)
      • ^“
    • に置き換えます:
      • (空のまま)
  3. クリップボード>検索と置換
    • 検索:システムクリップボード
    • for:正規表現(大文字と小文字が区別されます)
      • ”\s*Excerpt.*Books\.\s?$
    • に置き換えます:
      • (空のまま)

これは、キーボードマエストロでの表示方法です。

Keyboard Maestroの「引用なしでコピー」マクロ

これで、そのキーボードショートカットを使用してコピーされたiBooksのテキストの両端から余分なテキストが削除されます。



iBooksが "Books"に置き換えられた場合は、最後のRegExを次のように変更します”\s*Excerpt.*Books\.\s?$
Tim N.

@TimN。ありがとう。その正規表現は両方のアプリ名で機能するはずなので、その正規表現を使用するように回答とスクリーンショットを更新しました。
ロリーオケイン

1

アミール・ラミンファーの答えから。これは、コマンドCなしで直接コピーしてコンテンツをクリップボードに保存する場合の方法です。

「Books.app」内の「text」を受け取るワークフローを変更し、クリップボードのコンテンツの取得を無効にします。


Ask Askへようこそ。これは、以前の回答に対するコメントであり、スタンドアロンの回答ではありません。それは自分の答えではないはずです。ここで回答を提供するためのヒントについては、回答方法をご覧ください。-レビューから
fsb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.