## Transferring Text

jEdit provides a rich set of commands for moving and copying text. Commands are provided for moving chunks of text from buffers to registers and vice-versa. A register is a holding area for an arbitrary length of text, with a single-character name. Most other programs can only transfer text to and from the system clipboard; in jEdit, the system clipboard is just another register, with the special name `$`.

### The Clipboard

jEdit offers the usual text transfer operations, that operate on the `$` register.

Edit>Cut (shortcut: `C+x`) places the selected text in the clipboard and removes it from the buffer.

Edit>Copy (shortcut: `C+c`) places the selected text in the clipboard and leaves it in the buffer.

Edit>Paste (shortcut: `C+v`) inserts the clipboard contents in place of the selection (or at the caret position, if there is no selection).

The Cut and Copy commands replace the old clipboard contents with the selected text. There are two alternative commands which add the selection at the end of the existing clipboard contents, instead of replacing it.

Edit>More Clipboard>Cut Append (shortcut: `C+e C+u`) appends the selected text to the clipboard, then removes it from the buffer. After this command has been invoked, the clipboard will consist of the former clipboard contents, followed by a newline, followed by the selected text.

Edit>More Clipboard>Copy Append (shortcut: `C+e C+a`) is the same as Cut Append except it does not remove the selection from the buffer.

### Quick Copy

The quick copy feature is usually found in Unix text editors. Quick copy is disabled by default, but it can be enabled in the Mouse pane of the Utilities>Global Options dialog box.

The quick copy feature is accessed using the middle mouse button. If you do not have a three-button mouse, then either `Alt`-click (on Windows and Unix) or `Option`-click (on MacOS X). The quick copy feature enables the following behavior:

- Clicking the middle mouse button in the text area inserts the most recently selected text at the clicked location. If you only have a two-button mouse, you can click the left mouse button while holding down `Alt` instead of middle-clicking.

- Dragging with the middle mouse button creates a selection without moving the caret. As soon as the mouse button is released, the selected text is inserted at the caret position and the selection is deactivated. A message is shown in the status bar while text is being selected to remind you that this is not an ordinary selection.

- Holding down `Shift` while clicking the middle mouse button will duplicate text between the caret and the clicked location.

- Holding down `Control` while clicking the middle mouse button on a bracket will insert all text in that bracket's scope at the caret position.

The most recently selected text is stored in the `%` register.

If jEdit is being run under Java 2 version 1.4 on Unix, you will be able to transfer text with other X Windows applications using the quick copy feature. On other platforms and Java versions, the contents of the quick copy register are only accessible from within jEdit.

### General Register Commands

These commands require more keystrokes than the two methods shown above, but they can operate on any register, allowing an arbitrary number of text chunks to be retained at a time.

Each command prompts for a single-character register name to be entered after being invoked. Pressing `ESCAPE` instead of specifying a register name cancels the operation.

Note that the content of registers other than the clipboard and quick copy register are automatically saved between jEdit sessions.

Edit>More Clipboard>Cut to Register (shortcut: `C+r C+x `key``) stores the selected text in the specified register, removing it from the buffer.

Edit>More Clipboard>Copy to Register (shortcut: `C+r C+c `key``) stores the selected text in the specified register, leaving it in the buffer.

Edit>More Clipboard>Cut Append to Register (shortcut: `C+r C+u `key``) adds the selected text to the existing contents of the specified register, and removes it from the buffer.

Edit>More Clipboard>Copy Append to Register (shortcut: `C+r C+a `key``) adds the selected text to the existing contents of the specified register, without removing it from the buffer.

Edit>More Clipboard>Paste from Register (shortcut: `C+r C+v `key``) replaces the selection with the contents of the specified register.

The following three commands display dialog boxes instead of prompting for a register name.

Edit>More Clipboard>Paste Previous (shortcut: `C+e C+v`) displays a dialog box listing the 20 most recently copied and pasted text strings.

Edit>More Clipboard>Paste Deleted (shortcut: `C+e C+y`) is not really a register command; it displays a dialog box listing the 20 most recently deleted text strings.

Edit>More Clipboard>View Registers displays a dialog box for viewing register contents, including the clipboard and the quick copy.