クリップボード
クリップボード(Clipboard)は、コンピュータ上で、一時的にデータを保存できる共有のメモリ領域のことである。複数の異なるプログラムからアクセス可能であり、単一のアプリケションだけでなく異なったアプリケーション間のデータの受け渡しにも使用される。XEROXのAltoで既にこうしたコンセプトが生まれていた。
概要
直感的には、コピー・アンド・ペーストにてデータを移動する際の一時保管所である。クリップボードには、テキストデータ・画像をはじめさまざまなフォーマットのデータを格納することができるが、クリップボードから読み出したデータをどこまで再現できるかはアプリケーションに依存する。例えば、ワープロソフトからクリップボードに転送した書式付きのデータを、テキストエディタから読み出した場合、フォントの修飾や罫線、画像などの情報は、コピーされない。
クリップボードに保持されるデータは通常ひとつのみであり、クリップボードに対する書き込みが行われると、それまで保持していたデータは上書きされる。 複数のクリップボードの履歴を保持するためにクリップボードの機能を拡張するユーティリティやアプリケーションが開発されている。emacsで使用されるクリップボードに似た機能のキルリングでは、バッファが複数あり、履歴を保持することができる。
クリップボード機能を提供するオペレーティングシステムには、クリップボードの内容を参照するためのユーティリティが付属している。
クリップボードとのデータのやりとりには以下のものがある。
- コピー - 選択されたデータをクリップボードへ複写する。元のデータには影響を及ぼさない。
- カット(切り取り) - 選択されたデータをクリップボードへ移動する。
- ペースト ( 貼り付け) - クリップボードからプログラムへデータを複写する。
コピーとカットはクリップボードへデータを書き込むという点で、クリップボード側から見れば同じ動作である。これらの動作は、ユーザの操作によって明示的に行われるだけでなく、アプリケーションの仕様により自動的に行われる場合もある。
各オペレーティングシステムのクリップボード
Mac OS X
Mac OS や Mac OS X での標準的な操作方法は、「編集」メニューをプルダウンして操作を選ぶか、メニューコマンドキー(⌘)を修飾キーとしてキーボードショートカットで操作する。
標準のキーバインドは以下の通りである。
- コピー - ⌘ Command+C
- カット - ⌘ Command+X
- ペースト - ⌘ Command+V
Finder の「編集」メニューから「クリップボードを表示」(Mac OS では「クリップボード表示」)というメニュー項目を選択することにより、クリップボードの中身を見ることができる。
Mac OS Xではテキストデータに対し 標準のクリップボードとは独立したemacs スタイルのキルリングを利用できる。ただし、複数の履歴を保持することはできない[1]。標準のクリップボードとのこれは標準の Cocoa のテキストボックスを使っているすべてのアプリケーションで機能する。
- カーソルから行の終わりまで削除する - Control+K
- キルリングの内容をカーソル位置へ貼り付ける(ヤンク)- Control+Y
X Window System
UNIX や Linux システムでよく使われる X Window System は X Window selection を通してクリップボードを提供している。選択 (Selection) は非同期で、要求があったときのみコピーされ、求められた形式に変換される。
多様な選択の使用法や扱いは標準化されていない。しかし、ほとんどの現代的なツールキットや、 GNOME や KDE のようなデスクトップ環境では、freedesktop.org の仕様で概説されて広く受け入れられている取り決めに従っている。
ひとつの選択 CLIPBOARD には Windows に似たショートカットがあり、伝統的なクリップボードの動作に対して使われる。例えば、GNOME や KDE では以下のショートカットが利用できる。
- カット - Control+Xまたは ⇧ Shift+Delete
- コピー - Control+Cまたは Control+⎀ Insert
- ペースト - Control+Vまたは ⇧ Shift+⎀ Insert
もうひとつの選択 PRIMARY は X11 固有の機構である。データはハイライトされるとすぐに「コピー」される。コピーされたデータは、三番目の(ミドル)マウスボタンを押せば貼り付けることができる。この PRIMARY 選択は通常 CLIPBOARD 選択とは別であり、CLIPBOARD の中身を変えない。
Microsoft Windows
Windows においても、メニューからの選択、修飾キーと他のキーのコンビネーションでクリップボードとのデータのやり取りを行う。 Windows の伝統的なキーバインドは、シフトキー、コントロールキーとデリートキー、インサートキーを組み合わせて使うものであったが、Macintosh の影響から、コントロールキーと C・V・Xの各キーの組み合わせも導入された。
- カット - Control+Xまたは ⇧ Shift+Delete
- コピー - Control+Cまたは Control+⎀ Insert
- ペースト - Control+Vまたは ⇧ Shift+⎀ Insert
Windows には、クリップブック (Clipbrd.exe) というクリップボードビューアが付属していて、クリップボードのデータを参照することができる。
Microsoft Office では、Office 2000より、Officeクリップボードという独自のクリップボードが実装されている。Officeアプリケーション間の複数の履歴の保持と履歴に対するツールバーからのアクセスを提供している。Officeクリップボードは、何らかのOfficeアプリケーションが動作中のみ動作し、Officeアプリケーションがすべて終了するとOfficeクリップボードの履歴は消去される。Officeクリップボードが表示されているあいだは、Officeアプリケーション以外のアプリケーションからコピー(カット)した内容もOfficeクリップボードに書き込まれるが、Officeアプリケーション以外のアプリケーションにOfficeクリップボードからペーストすることはできない。Officeクリップボードからペーストを行った場合、標準のクリップボードの内容がペーストしたデータで上書きされる。
脚注
- ^ 海上忍 (2002年5月17日). “【コラム】OS X ハッキング! (17) TextEditの秘密”. 毎日コミュニケーションズ. 2008年11月24日閲覧。