クリップボード

**クリップボード**（）は、コンピュータ上で、一時的にデータを保存できる共有のメモリ領域のことである。通例オペレーティングシステム（OS）が管理しており、複数の異なるプログラムからアクセス可能であり、単一のアプリケーションだけでなく異なるアプリケーション間のデータの受け渡しにも使用される。

## 概要
直感的には、コピー・アンド・ペーストにてデータを移動する際の一時保管所である。クリップボードには、テキストデータ・画像をはじめさまざまなフォーマットのデータを格納することができるが、クリップボードから読み出したデータをどこまで再現できるかはアプリケーションに依存する。例えば、ワープロソフトからクリップボードにコピーした書式付きのデータを、テキストエディタにペーストした場合、文字や改行の情報は再現されるが、フォントの修飾や罫線、画像などの情報は、そぎ落とされる（つまりテキストエディタ側では利用されず、無視される）。OS標準のウィジェット・ツールキットに含まれるテキストボックスなどでカバーできる範囲であれば、アプリケーション側で特にクリップボード機能を明示的に実装する必要はないが、クリップボードを直接操作するAPIを利用することによって細かな制御やカスタムデータを格納・読み出しすることができるようになる。

クリップボードに保持されるデータは通常ひとつのみであり、クリップボードに対する書き込みが行われると、それまで保持していたデータは上書きされる。
複数のクリップボードの履歴を保持するためにクリップボードの機能を拡張するユーティリティやアプリケーションが開発されている。Emacsで使用されるクリップボードに似た機能のキルリングでは、バッファが複数あり、履歴を保持することができる。

クリップボード機能を提供するOSには、クリップボードの内容を参照するためのユーティリティが付属している。モダンなOSでは標準機能によってクリップボード履歴を管理できるようになっているものもある。

クリップボードとのデータのやりとりには以下のものがある。

;コピー（複写）
:選択されたデータをクリップボードへ複写する。元のデータには影響を及ぼさない。
;カット（切り取り）
:選択されたデータをクリップボードへ移動する。
;ペースト（貼り付け）
:クリップボードからプログラムにデータを複写する。

コピーとカットは、クリップボード側から見れば、クリップボードにデータを書き込むという点で同じ動作である。これらの動作は、ユーザーの操作によって明示的に行われるだけでなく、アプリケーションの仕様により自動的に行われる場合もある。

OS固有の標準的なキーボードショートカットが用意されていることが多いが、GUIアプリケーションではメニューあるいはコンテキストメニュー、ツールバーのボタンなどからクリップボードの操作に関連するコマンドを実行することもできる。

タッチパネル（タッチスクリーン）を搭載したスマートフォンなどに搭載されているモバイルOSでは、テキスト表示領域や入力欄などのダブルタップあるいは長押しによってテキスト選択アンカーやコンテキストメニューが表示され、ハードウェアキーボードやポインティングデバイスが接続されていない場合でもクリップボードを利用できるようになっている。ソフトウェアキーボードも、タッチ操作だけでテキストを選択したり、クリップボードを利用したりする機能に対応しているものも多い。

## 歴史
クリップボード、つまり少量のデータ用のバッファを初めて使った人物はであり、テキストから一部のテキストを削除した後に、それを再現するために使ったのだった。

ある場所からテキストを除去して別の場所で再現できるようになったのだから、その機能を使うことを「デリート delete（削除・抹消）」という言葉で呼んでしまうのは、言葉の意味にそぐわない。そこで1973年にラリー・テスラーが、その機能を使うことを「cut」「copy」「paste」と再命名し、バッファのほうの呼び方として「クリップボード」という名を選んだ。コピーされたりカットされたりしたデータが一時的に保持するために使われるのだから、（すでに皆が知っている文房具である）文書を一時的にとめておくためのボードであるクリップボードという名称（比喩）で呼ぶことがぴったりだと判断したのである。この機能は、ラリー・テスラーとティム・モットによりGypsyに実装され、Smalltalk-76にも実装され、それらはAltoで動いた。

## 各オペレーティングシステムのクリップボード
### Mac OS
Classic Mac OSやmacOSでの標準的な操作方法は、「編集」メニューをプルダウンして操作を選ぶか、メニューコマンドキー（⌘）を修飾キーとしてキーボードショートカットで操作する。

標準のキーバインドは以下の通りである。

Finderの「編集」メニューから「クリップボードを表示」（Classic Mac OSでは「クリップボード表示」）というメニュー項目を選択することにより、クリップボードの中身を見ることができる。

macOSではテキストデータに対し標準のクリップボードとは独立したEmacsスタイルのキルリングを利用できる。ただし、複数の履歴を保持することはできない。標準のクリップボードとのこれは標準のCocoaのテキストボックスを使っているすべてのアプリケーションで機能する。

### X Window System
Unix系システムでよく使われるX Window SystemはX Window selectionを通してクリップボードを提供している。選択 () は非同期で、要求があったときのみコピーされ、求められた形式に変換される。

多様な選択の使用法や扱いは標準化されていない。しかし、ほとんどの現代的なツールキットや、GNOMEやKDEのようなデスクトップ環境では、`[[freedesktop.org]]` の仕様で概説されて広く受け入れられている取り決めに従っている。

**プライマリー選択**は X11 固有の機構である。データはハイライトされるとすぐに「コピー」される。コピーされたデータは、三番目の（ミドル）マウスボタンを押せば貼り付けることができる。このプライマリー選択は通常、クリップボード選択とは別であり、クリップボードの中身を変えない。

**クリップボード選択**は伝統的なクリップボードの動作に対して使われる。例えば、GNOMEやKDEでは以下のショートカットが利用できる。

### Microsoft Windows
Microsoft Windowsにおいても、メニューからの選択、修飾キーと他のキーのコンビネーションでクリップボードとのデータのやり取りを行う。Windowsの伝統的なキーバインドは、シフトキー、コントロールキーとデリートキー、インサートキーを組み合わせて使うものであったが、Macintoshの影響から、コントロールキーとC・V・Xの各キーの組み合わせも導入された。

Microsoft Windows XP以前には、クリップブック (Clipbrd.exe) というクリップボードビューアが付属していて、クリップボードのデータを参照することができる。

Microsoft Officeでは、Office 2000より、「Office クリップボード」という独自のクリップボードが実装されている。Officeアプリケーション間の複数の履歴の保持と履歴に対するツールバーからのアクセスを提供している。Officeクリップボードは、何らかのOfficeアプリケーションが動作している間のみ有効になり、Officeアプリケーションがすべて終了するとOfficeクリップボードの履歴は消去される。Officeクリップボードが表示されている間は、Officeアプリケーション以外のアプリケーションからコピー（カット）した内容もOfficeクリップボードに書き込まれるが、Officeアプリケーション以外のアプリケーションにOfficeクリップボードからペーストすることはできない。Officeクリップボードからペーストを行った場合、標準のクリップボードの内容がペーストしたデータで上書きされる。

Windows 10 October 2018 Update（バージョン1809）ではクリップボード履歴から個々の項目を選択してペーストしたり、頻繁に使う項目をピン留めしたり、複数のデータを追加したり、他デバイスと（クラウドを通じて）内容を共有したりできる機能が実装された。

## 脚注


## 関連項目
*