OS Xの隠れた宝物:コピー&ペースト

OS Xの隠れた宝物:コピー&ペースト

コピー&ペーストは、過去30年間で最も重要なコンピューティング技術かもしれません。奇妙に聞こえるかもしれませんが、私たちがどれほどそれに頼っているか考えてみてください。私たちのほとんどは、コピー&ペーストコマンドを毎日何度も、おそらく週に何百回も、気づかないうちに使っています。

コピー&ペーストがなかったら、過去のテキストやグラフィック、あるいはちょっとした修正が必要な文書全体から始めるのではなく、膨大な量の作業を一からやり直さなければならなかったでしょう。また、ウェブページへのリンクを共有するのもはるかに困難だったでしょう。確かに今は共有ボタンがありますが、もし誰もが猫の動画に手動でリンクしなければならなかったら、TwitterやFacebookは成功していたでしょうか?

驚くかもしれませんが、まだ基本を理解していない人がいます。また、コピー&ペーストの高度なテクニックや、ドキュメントやアプリ間でデータを移動する方法など、多くの方が理解していないのが現状です。

切り取り、コピー、貼り付けの基本

カット、コピー、ペーストの各コマンドの機能を理解するには、まずクリップボードの概念を理解する必要があります。クリップボードとは、コピーまたはカットしたデータを保持する仮想的なコンテナです。クリップボードは通常、ユーザーには表示されませんが、Finderでその内容を確認できます。「編集」>「クリップボードを表示」を選択するだけです。小さなウィンドウが開き、クリップボードにあるテキストや画像が表示されます。

コピーやカットを使用する前に、まずデータを選択する必要があります。選択できるのは、1文字から書籍全体まで、様々なテキスト、画像や画像の一部、Finder内のファイル、スプレッドシート内のデータ列、音声録音の一部などです。選択方法は状況やデータによって異なりますが、通常は一度クリックするか、クリックして範囲をドラッグします。(Command + A で「すべてを選択」のショートカットもお忘れなく!)選択したら、コピーまたはカットできます。

選択したデータをコピーすると、OS Xはそれをクリップボードに複製し、後で貼り付けられるようにします。例えば、住所をコピーして地図アプリに貼り付けたり、Safariから写真をコピーして友達と共有したり、ファイルをコピーして別のフォルダに移動したりできます。

「コピー」と密接に関連しているのが「切り取り」です。これはコピーと削除を組み合わせた機能です。選択したデータを切り取ると、元の場所から消えてクリップボードに移動します。そのため、「切り取り」はデータの並べ替えに便利です。例えば、レポートを作成中に段落を上に移動したい場合、その段落を選択して切り取り、新しい場所に貼り付けることができます。

切り取り、コピー、貼り付けはどのように行いますか?切り取りまたはコピーしたいコンテンツを選択したら、「編集」>「切り取り」または「編集」>「コピー」を選択します。クリップボードの内容を貼り付けるには、貼り付け先のドキュメントまたはフォルダがアクティブになっていることを確認し、「編集」>「貼り付け」を選択します。

しかし、切り取り、コピー、貼り付けをするたびにメニューバーに移動するのは面倒です。Macユーザーは皆、これらのコマンドのキーボードショートカットを覚えておくべきです。キーボード入力と同じくらい自然に使えるはずです。

  • カット: コマンド+X
  • コピー: コマンド+C
  • 貼り付け: Command-V

スタイル付き貼り付け、またはスタイル付き貼り付け

テキストのコピー&ペーストは簡単ですが、フォントスタイルが絡むと少し面倒になります。BBEditのようなプレーンテキストエディタからコピーしたり、BBEditにペーストしたりする分には問題ありません。しかし、例えばWebページからテキストをコピーしてApple Mailにペーストすると、書体、文字色、さらには背景色までもがコピーされてしまいます。こうしたスタイル情報は場合によっては役立ちますが、ほとんどの場合、テキストの見た目を周囲のテキストに合わせたり、アプリのデフォルトスタイルを使用したりしたいだけでしょう。

ほとんどのアプリでは、テキストを書式設定なしで貼り付けるコマンドは「編集」>「貼り付けてスタイルを合わせる」(Command+Option+Shift+V)です。アプリによっては、「テキストのみ貼り付け」や「書式設定なしで貼り付け」というコマンドが使われる場合があります。

残念ながら、便利なコマンドであっても、すべてのアプリにそのようなコマンドがあるわけではありません。この制限を回避するには、既にお持ちのユーティリティソフトウェアをご利用ください。Keyboard Maestroのようなマクロユーティリティ、LaunchBarのようなランチャー、Copy'em Pasteのようなクリップボードユーティリティは、いずれもペースト時にテキストの書式設定を削除できます。これらの機能やクリップボード関連のその他のトリックの詳細については、Joe Kissellの「Take Control of Automating Your Mac」をご覧ください。

一部のアプリ(Pages、テキストエディット、メッセージなど)では、文字そのものではなく、元のテキストのスタイルをコピー&ペーストできます。この機能はあまり一般的ではなく、必要なコマンドの場所も大きく異なります。

例えば、Pagesでは「フォーマット」メニューに「スタイルのコピー」と「スタイルのペースト」コマンドがあります。テキストエディットでは「フォーマット」>「フォント」にあります。メッセージでは「編集」メニューにあります。幸いなことに、少なくともAppleのアプリでは、キーボードショートカットは変わりません。「スタイルのコピー」はCommand+Option+C、「スタイルのペースト」はCommand+Option+Vです。

OS Xのあまり知られていないセカンダリクリップボード

何かをコピーまたはカットすると、新しいデータでクリップボード上のデータが上書きされます。これは時に煩わしく、アプリ間でデータの塊を移動するために、アプリ間を行き来する手間がかかります。ここではOS Xの組み込み機能について重点的に取り上げますが、クリップボードの履歴にアクセスしたい場合は、上記で紹介したすべてのユーティリティで同様の機能を提供しています。どれを使っても間違いはありません。また、複数の名前付きクリップボードを操作したい場合は、Keyboard MaestroとCopy'em Pasteが役立ちます。

しかし、OS X では、キーボード ショートカットでのみアクセスできるセカンダリ クリップボードがあります。Control-K でキルが実行され、Control-Y でヤンクが実行されます。

「Kill​​」と「Yank」は奇妙な用語ですが、由緒あるコマンドラインテキストエディタEmacsに由来しています。実際には、KillとYankはカットとペーストコマンドとほぼ同じですが、いくつかの違いがあります。最も顕著な違いは、それぞれ独自のクリップボード(Emacsでは「キルリング」と呼ばれる)を持っていることです。そのため、Control-Kで何かをカットしても、メインのシステムクリップボードの内容は上書きされません。この特別なキーボードはアプリごとに固有のものなので、アプリ間でテキストを移動することはできませんが、アプリ内でテキストを並べ替えるのに役立ちます。

他にも注目すべき違いがあります。Command-Xとは異なり、テキストが選択されていない状態でControl-Kを押すと、挿入ポイントから段落末尾までのすべてに反映されます。テキストが選択されていない状態で複数のテキストをキルすると、キルされたテキストの各部分がキルリングに追加され、ヤンク操作ですべてのテキストを一度にペーストできるようになります。最後に、Control-Yでペーストすると、ペーストされたテキストからすべてのスタイルが自動的に削除されます。

キルとヤンクはほとんどの OS X アプリで動作しますが、すべてではなく、テキスト編集領域でのみ動作するようです。さらに、一部のアプリ、特にワードプロセッサやテキストエディタでは、キルとヤンクのキーボードショートカットの実装方法が若干異なります。例えば、BBEdit ではシステムクリップボードを使用しているようで、Control-K でテキストをキルし、Command-V でペーストできます。また、Nisus Writer Pro では、ヤンクはキルリング内のテキストを、そのテキストがどのようにしてキルリングに入ったかに関係なく複数回ペーストでき、スタイルも保持されます。

Finderでコピー&ペースト

これまでテキストのコピー&ペーストに焦点を当ててきましたが、Finderでファイルやフォルダのコピー&ペーストもできることに気づいていない方も多いでしょう。ドラッグ操作の方が簡単な場合が多いですが、コピー&ペーストの方が効率的な場合もあります。

ファイルまたはフォルダをコピーするには、対象を選択し、「編集」>「ファイル名をコピー」(Command-C)を選択します。ファイル名のテキストではなく、アイコンが選択されていることを確認してください。ShiftキーまたはCommandキーを押しながらクリックすると、複数の項目を一度に選択してコピーできます。次に、コピー先の場所を示すウィンドウを開き、「編集」>「貼り付け」(Command-V)を選択して、その場所に項目を貼り付けます。

ファイルやフォルダを移動する際に「カット」コマンドを使用することはできませんが、Finder の「ペースト」コマンドは強化されており、コピーではなく移動が可能です。まず、1つまたは複数の項目を通常通りコピーし、コピー先に移動したら Option キーを押したまま、「編集」>「項目をここに移動」を選択します(「ペースト」の代わりに「項目をここに移動」が使用できます)。「項目をここに移動」のキーボードショートカットは、当然ながら Command + Option + V です。

間違えて間違った場所に貼り付けてしまった場合は、アイテムをコピーするか移動するかに関係なく、いつでも Command-Z キーを押して操作を元に戻すことができます。

最後に、Finder のちょっとしたヒントをご紹介します。ディレクトリ構造の奥深くにネストされたファイルやフォルダの場所を誰かに伝えたい場合があります。例えば、以下のフォルダです。

/Library/Application Support/Apple/Automator/Workflows

全部入力する代わりに、項目のパス名をコピーすることもできます。ファイルまたはフォルダを選択した状態で、Optionキーを押したまま「編集」>「ファイル名をパス名としてコピー」(Command-Option-C)を選択します。これで、ファイルまたはフォルダのフルパス名がテキストとしてコピーされます。

コマンドライン呼び出しの一部としてパス名をコピーしてターミナルアプリに貼り付ける場合、さらに便利な方法があります。項目をターミナルウィンドウにドラッグするだけです。この方法には、必要に応じてパス名を再フォーマットできるという利点もあります。

Safariからのコピー

これまでは主にどこでも使えるコピー&ペーストの使い方に焦点を当ててきましたが、多くのアプリでは特定の方法でコマンドを使用しています。特に、Webブラウザでは様々なものをコピーできます。ブラウザによって詳細は若干異なりますが、SafariではWebページからコピーできるものがいくつかあります。

  • 文章
  • ハイパーリンクからのリンク先URL
  • 画像
  • 画像のURL

テキストのコピーは他のアプリと同じように機能します。ただし、その他の種類のデータの場合は、リンクまたは画像をControlキーを押しながらクリック(または右クリック、あるいは通常表示されるコンテキストメニュー)する必要があります。クリックした内容に応じて、URLまたは画像全体をコピーできます。(「プレビューの威力:ファイルをプレビューに取り込む」(2016年2月25日)を覚えているなら、コピーした画像は「ファイル」>「クリップボードから新規作成」を選択することでプレビューで開くことができます。)

テキストクリッピングとドラッグアンドドロップ

このヒントはクリップボードを正確に使用するわけではありませんが、似たような機能を提供します。ほぼすべてのOS Xアプリケーションでテキストを選択し、デスクトップにドラッグすることで「テキストクリッピング」を作成できます。これは、選択したテキストを含む特殊なファイルです。テキストクリッピングは標準的なテキストファイルではなく、ダブルクリックするとFinderの特殊なウィンドウに直接開きます。テキストクリッピングを編集することはできませんが、面白いことに、あるクリッピング内のテキストを選択してデスクトップにドラッグすることで、別のクリッピングを作成できます。

テキストクリッピングの作成は、テキストのコピーに似ています。クリッピング内のテキストを「ペースト」するには、Finderからクリッピングのアイコンをアプリのウィンドウにドラッグします。ある意味、テキストクリッピングはOS Xのクリップボードが1つしかないという問題を解決します。複数のテキストクリッピングを作成し、それらを一度にドラッグできるからです。(複数のクリッピングを選択して、同時にドキュメントにドラッグすることも可能です。)

テキストクリッピングには、プレーンテキストまたはRTF形式の「リッチテキスト」のいずれかを含めることができます。プレーンテキストクリッピングは、ドキュメントにドラッグすると周囲のテキストの書式設定が引き継がれますが、リッチテキストクリッピングは元のスタイルが保持されます。

一部のテキストエディタやワードプロセッサ(BBEditやNisus Writer Proなど、TextEditやPagesは除く)では、テキストクリッピングを文書として開くことができますが、これらの文書は新規文書であるため、クリッピングに変更を保存することはできません。テキストクリッピングを編集することはできません。

でもちょっと待ってください!テキストをあるドキュメントから別のドキュメントへ、あるいはあるアプリから別のアプリへ移動したいだけなら、中間のテキストクリッピングを作成する必要はありません。テキストを選択して、ウィンドウ間でドラッグするだけです。このドラッグ&ドロップのテクニックはグラフィックにも使えます。

ドロップ先のドキュメントが表示されていない場合、あるいは開いていない場合はどうすればいいでしょうか?この非常に便利な手順を試してみてください。

  • Safari などのアプリで、テキストを選択してドラッグを開始します。
  • テキストを、TextEdit や Pages などのテキスト ドロップを受け入れるアプリの Dock アイコンにドラッグします。
  • ドラッグを続け(マウス ボタンを放さないでください)、Dock アイコンがハイライト表示されたら一時停止します。そのアプリの開いているウィンドウを表す小さいウィンドウと、最近使用したファイルを表す画面下部のサムネイルを除いて、画面上のすべてのものが消えます。

  • 開いているドキュメントまたはサムネイルのいずれかにドラッグを続け、ポインターがその上に来たら再び停止します。画面は通常の状態に戻り、停止していたドキュメントが開きます。
  • ドラッグを続けながら、ポインタをドキュメントの上部または下部に移動して、ドラッグしたテキストを表示したい場所までドキュメント内をスクロールします。(この時点で、もう一方の手でPage UpやPage Downなどのナビゲーションキーを使用することもできます。)
  • 挿入ポイントを希望の位置に配置したら、マウス ボタンを放してその場所にテキストを「貼り付け」ます。

ドラッグを開始してから、Command + Tab アプリケーション スイッチャーを使用してアプリを切り替えることもできますが、この方法では、Dock にドラッグする場合のように、開いていない最近使用したドキュメントを選択することはできません。

ペーストボードは隅々まで— テキストクリッピングやドラッグ&ドロップではクリップボードは使用されませんが、Apple が「ペーストボード」と呼ぶ同じ基盤技術に依存しているため、ここで言及します。OS X では、ペーストボードはアプリ内またはアプリ間でデータを交換するための標準化されたメカニズムです。クリップボードは、すべてのアプリケーションが共有する標準的なパブリックペーストボードの一つです。ドラッグ&ドロップ操作は別のパブリッククリップボードを使用し、Kill コマンドと Yank コマンドもおそらく別のクリップボードを使用します。Apple の
ペーストボードに関する開発者向けドキュメントは、実に興味深く読むことができます。

ペーストボードは概念的にはシンプルですが、適切に実装するのは非常に複雑です。例えば、様々なアプリが様々な種類のデータを処理できるため、各アプリは共有ペーストボードに適切な種類のデータをすべて配置し、できるだけ多くのアプリがアクセスできるようにする必要があります。しかし、必ずしもそうとは限りません。例えば、写真アプリからApple Mailに写真をドラッグすることはできますが、Mailplaneにドラッグすることはできません。これは、写真アプリがMailplaneが理解できる写真の表現をMailplaneに提供していないためです。

クリップボードのデータをUnixアプリケーションに接続したい場合は、コマンドpbcopypbpasteコマンドを参照してください。これらのコマンドの使い方はこの記事では説明しませんが、まずはmanページをご覧ください。

最後にちょっとしたマニアックな豆知識を。データをコピーし、コピー元のアプリを終了し、コピー先のアプリを起動して貼り付けるという操作ができることから、コピー&ペーストが魔法のように機能するには、さらに別のバックグラウンドアプリに依存していることがわかります。このペーストボードサーバープロセスは と呼ばれていますpbs。アクティビティモニターでこのプロセスが表示されていれば、次の募金活動の準備ではなく、クリップボードやドラッグ&ドロップの処理に利用されていることがわかります。

言うまでもなく、ペーストボードについて何も知らなくても大丈夫です。コピー&ペースト、テキストクリッピング、ドラッグ&ドロップでアプリ間でデータを移動するのがこんなに簡単なのは、AppleのOS Xエンジニアの努力の賜物です。さあ、これらのさりげない機能を使って感謝の気持ちを表しましょう!そしてもちろん、クリップボードやペーストボードに関する他のヒントがあれば、ぜひ教えてください。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.