Kopieren und Einfügen

Kopieren und Einfügen (engl. Copy and Paste, copy & paste, copy’n’paste, abgekürzt C&P) ist ein zweistufiges Prinzip der Übertragung von Daten zwischen Software-Anwendungen. Zuerst werden die zu übertragenden Daten aus einer Anwendung heraus in einem externen Zwischenspeicher – die Zwischenablage oder Clipboard – gespeichert (Copy „kopieren“ – in der Regel durch Markieren und die Tastenkombination Strg+C bzw. Ctrl+C). Von dort aus können sie dann in derselben oder einer anderen Anwendung des Nutzers beliebig oft wieder eingelesen werden (Paste „einfügen“ – Strg+V bzw. Ctrl+V). Sonderfall des Copy & Paste ist das Ausschneiden und Einfügen (Cut and Paste, Strg/Ctrl+X – V) oder Verschieben (move), bei dem das Element am Ausgangsort einfach gelöscht wird – sonst besteht keinerlei Unterschied.
Ist dieselbe Funktion in eine grafische Oberfläche eingebettet und visualisiert, heißt sie Ziehen und Fallenlassen (Drag and Drop) – dieser Begriff geht aber über das reine Kopieren und Einfügen von Datensätzen hinaus.
Grundlagen
Bei dem zu übertragenden Objekt kann es sich um einfachen unformatierten Text handeln, aber auch um ein Bild oder eine Struktur wie beispielsweise eine Tabelle, formatierten Text, eine Datei oder einen kompletten Ordner mitsamt aller sich darin befindlichen Dateien und Unterordner (Ordner-Baum). Das Haupteinsatzgebiet von Copy & Paste sind aber Textverarbeitungsprogramme und Texteditoren, um Textpassagen zeitsparend und vor allem fehlerfrei zu übertragen.
Copy and Paste wurde erstmals 1973 durch Larry Tesler[1] am Xerox PARC für die Smalltalk-76 Programmierumgebung implementiert.[2] Smalltalk-76 wurde in den Jahren 1973–1976 entwickelt und verwendete erstmals eine GUI mit Fenstern (vgl. WIMP).
Die Funktionalität wurde bekannt durch Apples Betriebssysteme der Lisa (1983) und des Macintosh (1984). Die Funktion besteht aus dem gleichzeitigem Drücken der Befehlstaste (⌘, Apfeltaste), und einer weiteren Taste, und zwar X für Ausschneiden, C für Kopieren und V für Einfügen. Diese Tastenkombinationen wurden später durch Microsoft für Windows übernommen. Bei einigen Betriebssystemen können diese Funktionen auch über ein Kontextmenü aufgerufen werden.
Bedeutung
Auf den meisten Betriebssystemen ermöglicht die Funktion das Kopieren von Text in den Zwischenspeicher, um ihn an anderer Stelle wieder einfügen zu können. Erweitert wurde die Funktion bei den gängigen Dateibrowsern: So kann man neben Text auch ganze Dateien kopieren, wobei das Kopieren von Dateien in zwei Schritten erfolgt: Es wird zunächst nur der Pfad einer Datei gespeichert. Erst nach dem Einfügen wird die eigentliche Datei samt Inhalt kopiert bzw. verschoben. Die Datenübertragung zwischen Anwendungen kann unter Windows durch Technologien wie OLE oder DDE umgesetzt werden.
Copy & Paste wird oft verwendet, um in einem Dokument bestimmte Teile zu vervielfältigen, oder um Textteile oder kompliziert strukturierte Zeichenfolgen (zum Beispiel Weblinks, Zahlenfolgen, Passwörter) fehlerfrei und zeitsparend zu übertragen.
Technik
Programmintern kann Copy & Paste über einen gemeinsamen Speicherbereich auf dem Freispeicher realisiert werden.
Obwohl man zwischen zwei Kopiertypen unterscheiden kann, wird bei beiden Kopiertypen das gleiche Verfahren angewendet. Nach dem Betätigen der Tasten Ctrl+C (auf Mac-Tastaturen die Apfeltaste anstatt „Ctrl“), wird bei Dokumenten der ganze Text in einen Zwischenspeicher kopiert. Meistens ist dies ein Sektor im Arbeitsspeicher. Nach dem Betätigen der Tastenkombination Ctrl+V bleibt der Inhalt weiterhin im Arbeitsspeicher, so dass ein mehrfaches Einfügen desselben Inhaltes an unterschiedlichen Stellen möglich ist. Falls eine Datei kopiert werden soll, wird in den meisten Fällen nur der Befehl in den Speicher kopiert, um bei zu großen Dateien den Arbeitsspeicher nicht zu sehr zu belasten.
Handhabung
Es gibt im Prinzip vier Arten der Handhabung (und deren Kombinationen, zum Beispiel Daten mit Maus markieren und mit der Tastatur kopieren):
Rechner-Typ | Kopieren | Ausschneiden | Einfügen |
---|---|---|---|
Maus (Desktop) | Üblicherweise durch Rechtsklick nach Markieren erscheint Kontextmenü. | ||
Maus (UNIX-Konsole) | Üblicherweise wird der Text durch einfaches Markieren automatisch in die Zwischenablage kopiert. Das Einfügen erfolgt an Cursor-Stelle durch Klicken der mittleren Maustaste, oder gleichzeitiges Klicken beider Maustasten (bei Emulation der mittleren Taste). | ||
Tastatur (PC)* | Strg+C Strg+Einfg |
Strg+X Umschalt+Entf |
Strg+V Umschalt+Einfg |
Tastatur (Mac)* | ⌘+C | ⌘+X | ⌘+V |
Emacs (alle Betriebssysteme)* | Alt+W | Strg+W | Strg+Y, nachfolgend Alt+Y fügt stattdessen die vorletzte, drittletzte, ..., zuvor kopierte oder ausgeschnittene Textstelle ein; dazu werden diese automatisch im Kill-ring gespeichert. |
Vi (alle Betriebssysteme) * | y | d | p (jeweils im Befehlsmodus) |
* Nach dem Markieren des Textes/Datei. |
Variante Cut & Paste
Das technische Prinzip hinter Cut & Paste (Ausschneiden und Einfügen) ist nahezu das gleiche wie bei Copy & Paste. Der Unterschied besteht darin, dass der Quelltext nicht erhalten bleibt, sondern „ausgeschnitten“, also am Ursprungsort entfernt und in die Zwischenablage verschoben wird.
Die übliche Tastenkombination dazu lautet Funktionstaste+X (PC: Strg+X) anstelle von Funktionstaste+C (PC: Strg+C).
Paste Server
Im Internet gibt es Server, die öffentlich zugängliche Zwischenablagen zur Verfügung stellen.
Diese werden zum Beispiel dafür benutzt, um in Chats, News-Artikeln, unter anderem längere Textpassagen, Konfigurationsdateien, Fehlerprotokolle oder Logdateien zugänglich zu machen, ohne sie direkt dort einzufügen.
Copy & Waste in Programmierkreisen
Aufgrund der Eigenschaft von Copy & Paste, dass nur die Informationen des markierten Textes kopiert werden und nicht die Referenzen nach außen hin, wird von Programmierern Copy & Paste auch als Copy & Waste (engl. für Kopieren und Müll) bezeichnet, da redundanter Code erzeugt wird, der schlechter zu warten ist als wiederverwendeter Code. Unter anderem ist es schwieriger, Programmfehler zu beheben oder Funktionalitäten zu erweitern, wenn der gleiche zu ändernde Programmcode an unterschiedlichen Stellen eingefügt wurde – und eventuell noch minimal verändert wurde.
Einzelnachweise
Weblinks
- Unterstützung der Zwischenablage in MFC-Anwendungen
- Copy&Paste im xterm unter Unices
- X Selections, Cut Buffers, and Kill Rings. Sehr ausführlicher Artikel zum C&P unter X. (englisch)
Paste-Dienste:
- http://nopaste.de
- http://nopaste.biz
- http://paste.phati.de/ (von anderen editierbar, Diff-Funktion)
- http://pastie.caboo.se