Note that you can use a some common keystrokes to move around the window besides the cursor keys:
If the insertion cursor is after the prompt, move it to the start of the current input. Otherwise move it to the beginning of the line.
If the insertion cursor is after the prompt, move it to the end of the buffer. Otherwise move it to the end of the line.
If the insertion cursor is after the prompt, delete the character to the right of the insertion cursor. If typing input to the standard input of an evaluating expression, and the insertion cursor is at the start of the last line, send an end-of-file indication to that stream. Otherwise do nothing.
An accelerator for the Edit > Cut menu item. Text before the current prompt may not be cut.
An accelerator for the Edit > Copy menu item.
An accelerator for the Edit > Paste menu item. Text may not be pasted before the current prompt.
Replace the input with the previous history item (same as the Previous button).
Replace the input with the next history item (same as the Next button).
If the insertion cursor is after the prompt, complete the preceding item. If the item begins with a ", treat it as a file name; otherwise treat it as an identifier. If the insertion cursor is before the prompt, do nothing.
Move the cursor up a screenful.
Move the cursor down a screenful.
If the insertion cursor is after the prompt, evaluate the current input. If the current input is not a complete top-level declaration, ending in a semicolon, do nothing. If the insertion cursor is before the prompt, copy the current line (excluding any prompt) to the end of the buffer and evaluate the current input.
Also, double-clicking selects an entire word or line, respectively.