Die `copy`- `cut`- und `paste`-Anweisungen werden durch die [[!iki plugins/cutpaste desc=cutpaste]]-Erweiterung bereitgestellt. Mit diesen Anweisungen kann man Textabschnitte innerhalb einer Seite speichern und wieder abrufen: * `\[[!cut id=name text="text"]]` merkt sich den Text und erlaubt es, ihn über die angegebene id wieder abzurufen. Der Text taucht an dieser Stelle nicht in der Ausgabe auf. * `\[[!copy id=name text="text"]]` merkt sich den Text und erlaubt es, ihn über die angegebene id wieder abzurufen. Der Text *wird* an dieser Stelle ausgegeben. * `\[[!paste id=name]]` wird durch den zuvor gemerkten Text ersetzt. Der ausgeschnittene, kopierte und eingefügte Text kann beliebige Wiki-Formatierungsanweisungen enthalten, inklusive weiterer Aufrufe von `cut`, `copy` und `paste`. Man muss sich einen Text nicht vor seiner Verwendung merken: Eine `cut`-Anweisung kann auch erst nach der `paste`-Anweisung kommen, die ihren Text verwendet. Dies ist ein durchaus nützlich, um größere Blöcke von Text wie lange Anmerkungen erst später anzugeben und so für einen natürlicheren Textfluss zu sorgen. Zum Beispiel: \[[!toggleable id="cut" text="[[!paste id=beschreibungcut]]"]] \[[!toggleable id="copy" text="[[!paste id=beschreibungcopy]]"]] \[[!toggleable id="paste" text="[[!paste id=beschreibungpaste]]"]] [… und später …] \[[!cut id=beschreibungcut text=""" bla bla bla """]] \[[!cut id=beschreibungcopy text=""" bla bla bla """]] \[[!cut id=beschreibungpaste text=""" bla bla bla """]] Auf diese Weise können möglicherweise Schleifen erzeugt werden, aber ikiwiki ist schlau und bricht diese auf. Da man `paste` ohne Anführungszeichen verwenden kann, können mit `copy` und `paste` Anweisungen ineinander geschachtelt werden, die mehrzeilige Parameter benötigen: \[[!toggleable id=foo text=""" [[!toggleable id=bar text="[[!paste id=baz]]"]] """]] \[[!cut id=baz text=""" mehrzeiliger Parameter! """]] [[!meta robots="noindex, follow"]]