コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

クリップボード

出典: フリー百科事典『ウィキペディア(Wikipedia)』

クリップボード: clipboard)は、コンピュータ上で、一時的にデータを保存できる共有のメモリ領域のことである。複数の異なるプログラムからアクセス可能であり、単一のアプリケーションだけでなく異なったアプリケーション間のデータの受け渡しにも使用される。

概要

[編集]

直感的には、コピー・アンド・ペーストにてデータを移動する際の一時保管所である。クリップボードには、テキストデータ・画像をはじめさまざまなフォーマットのデータを格納することができるが、クリップボードから読み出したデータをどこまで再現できるかはアプリケーションに依存する。例えば、ワープロソフトからクリップボードにコピーした書式付きのデータを、テキストエディタにペーストした場合、文字や改行の情報は再現されるが、フォントの修飾や罫線、画像などの情報は、そぎ落とされる(つまりテキストエディタ側では利用されず、無視される)。

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

クリップボード機能を提供するオペレーティングシステムには、クリップボードの内容を参照するためのユーティリティが付属している。

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

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

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

歴史

[編集]

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

クリップボード。1973年、ラリー・テスラーがこの機能で使うバッファをこれに譬えて「クリップボード」と呼ぶことにした。

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

各オペレーティングシステムのクリップボード

[編集]

Mac OS

[編集]

Classic Mac OSmacOS での標準的な操作方法は、「編集」メニューをプルダウンして操作を選ぶか、メニューコマンドキー(⌘)を修飾キーとしてキーボードショートカットで操作する。

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

機能 キー操作
コピー ⌘ Command+C
カット ⌘ Command+X
ペースト ⌘ Command+V

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

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

機能 キー操作
カーソルから行の終わりまで削除する Control+K
キルリングの内容をカーソル位置へ貼り付ける(ヤンク) Control+Y

X Window System

[編集]

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

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

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

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

機能 キー操作
カット Control+X または Shift+Delete
コピー Control+C または Control+ Insert
ペースト Control+V または Shift+ Insert

Microsoft Windows

[編集]

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

機能 キー操作
カット Control+X または Shift+Delete
コピー Control+C または Control+ Insert
ペースト Control+V または Shift+ Insert
ペースト(過去のコピー内容を選択できる , Windows 10 October 2018 Updateより有効 Windows+V

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

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

Windows 10(バージョン1809)ではクリップボードメニューから個々の項目を選択して、頻繁に使う項目をピン留めしたり、複数のデータを追加したり、他デバイスと(クラウドを通じて)内容を共有したりできる機能が実装された[4]

脚注

[編集]
  1. ^ Moggridge, Bill (2007). Designing interactions. Cambridge, Massachusetts: MIT Press. p. 65ff. ISBN 9780262134743. https://archive.org/details/designinginterac00mogg/page/65 
  2. ^ Larry Tesler. “A User Experience Retrospective”. 2018年2月2日時点のオリジナルよりアーカイブ23 January 2018閲覧。
  3. ^ 海上忍 (2002年5月17日). “【コラム】OS X ハッキング! (17) TextEditの秘密”. マイナビ. 2012年3月11日時点のオリジナルよりアーカイブ。2008年11月24日閲覧。
  4. ^ [クリップボード Windows]”. 2022年8月13日閲覧。

関連項目

[編集]