# Emacs Bindings

If you've chosen `Emacs Bindings' on the jstools Global Preferences panel, you can use the following keyboard commands to edit text (in large text windows, and also in oneline text fields, except as noted):

Control-d - delete the character after the insertion point

Control-b or Left arrow - move one character left
Control-f or Right arrow - move one character right

Control-p or Up arrow - move one line up (1)
Control-n or Down arrow - move one line down (1)

Control-a or Home - move to the beginning of the line
Control-e or End - move to the end of the line

Esc v or Page Up - scroll back one screenful (1)
Control-v or Page Down - scroll forward one screenful (1)

Esc < - move to the begining of the document (1)
Esc > - move to the end of the document (1)

Esc b - move one word left (to the beginning of the word)
Esc f - move one word right (to the end of the word)

Delete or Backspace - delete the character before the insertion point
Control-h also deletes the character before the insertion point (unlike Emacs itself)

Control-d - delete the character after the insertion point

Esc Delete or Esc Backspace - delete the word before the insertion point
Esc d - delete the word after the insertion point

Esc Spacebar - delete any tabs and spaces around the insertion point, and insert a single space

Control-k - delete from the insertion point to the end of the line, or, if the insert point is at the end of the line, deletes the newline, as in Emacs
Control-w - delete the (highlighted) selection

Control-slash - select the entire contents

Control-backslash - clear the selection

Control-y inserts whatever you most recently deleted with Control-k or Control-w at the insertion point. Multiple lines deleted with Control-k will be inserted together. (1)

Control-q causes the next character to be inserted literally, even if it is a control character.

Control-space or Control-@ sets the Emacs mark, kind of like a bookmark. (1) Control-x Control-x (that's two Control-xes in sequence) replaces the current mark with the current position of the insert point and moves to the last mark you set, so you can move back and forth between two places in a document. (1)

Control-x h - select the entire contents (1)

Esc followed by a number sets a repeat count; the next command will be repeated that many times. Control-g cancels a pending repeat count. Control-u sets the count to four, or multiplies it by four, as in Emacs. (1)

## Footnote

(1) Only available in multiline text windows

## See Also

Mouse Bindings
Basic Bindings
vi Bindings
ComposeKey Combinations

## Future Directions

* Esc b and Esc e are sorely lacking.

* I'd like to support incremental searching.

* I'd like to support a real kill ring.

* I'd like to support keyboard macros.

Please feel free to tell me (at `<js@aq.org>`) what crucial Emacs keyboard bindings I've left out; I'm sure there are a lot.
``