### Appendix A - Keyboard shortcut reference

Keyboard shortcuts from the main keyboard map, as shipped with Eddie, defined in the default UserStartup file:

Shortcut | Primitive | Description
Home | ShowHome | Scroll document to the top, do not move cursor/selection
Win-Home | GoToHome | Move cursor to document start
Shift-Home | ExtendToDocumentBeginning | Extend selection to document beginning
End | ShowEnd | Scroll document to the bottom, do not move cursor/selection
Win-End | GoToEnd | Move cursor to document end
Shift-End | ExtendToDocumentEnd | Extend selection to document end
Backspace | Backspace | Delete selected text or character after cursor
Alt-Backspace | DeleteToDocumentEnd | Delete text from selection start to document end
Shift-Alt-Backspace | DeleteFromDocumentBeginning | Delete text from beginning of document to selection end
Win-Backspace | DeleteToLineEnd | Delete text from selection start to line end
Shift-Win-Backspace | DeleteFromLineBeginning | Delete text from beginning of line to selection end
Control-Backspace | DeleteLine | Extend selection to a whole line/lines and delete
Shift-Backspace | Backspace | Delete selected text or character after cursor
Alt-Tab | SwapWithHeaderFile | If .cpp file open, try openning a .h file and vice versa
Tab | ShellTabComplete | Try completing a file path in the shell
Win-Tab | ShellInsertTab | Insert a tab character (in shell windows you may prefer to not have this as a default of hitting the Tab key)
Return | ShellExecute | Execute selection or a line with the cursor in the shell
Alt-Return | ShellInsertReturn | Insert a newline character (in shell windows you may prefer to not have this as a default of hitting the Return key)
Control-Return | ShellInsertReturn | Insert a newline character (in shell windows you may prefer to not have this as a default of hitting the Return key)
PageUp | ShowPageUp | Scroll document one page up, do not move cursor/selection
Win-PageUp | GoToPageUp | Move cursor to the top of the page or one page up
PageDown | ShowPageDown | Scroll document one page down, do not move cursor/selection
Win-PageDown | GoToPageDown | Move cursor to the bottom of the page or one page down
LeftArrow | LeftArrow | Move cursor left
Shift-LeftArrow | ExtendOrShrinkLeft | Grow or shrink selection one character left
Control-LeftArrow | SelectSubwordBeginning | Move cursor to the beginning of the first selected subword
Win-LeftArrow | SelectWordBeginning | Move cursor to the beginning of the first selected word
Alt-LeftArrow | SelectLineBeginning | Move cursor to the beginning of the first selected line
Shift-Control-LeftArrow | ExtendOrShrinkToSubwordLeft | Grow or shrink selection to the left subword start/end
Shift-Win-LeftArrow | ExtendOrShrinkToWordLeft | Grow or shrink selection to the left word start/end
Shift-Alt-LeftArrow | ExtendOrShrinkToLineLeft | Grow or shrink selection to the left line start/end
Alt-Control-LeftArrow | SwapWithPreviousCharacter | Swap selection with previous character
Alt-Win-LeftArrow | SwapWordLeft | Swap word with the previous word to the left; skips ',' '==', etc.
RightArrow | RightArrow | Move cursor right
Shift-RightArrow | ExtendOrShrinkRight | Grow or shrink one character right
Control-RightArrow | SelectSubwordEnd | Move cursor to the end of the last selected subword
Win-RightArrow | SelectWordEnd | Move cursor to the end of the last selected word
Alt-RightArrow | SelectLineEnd | Move cursor to the end of the last selected line
Shift-Control-RightArrow | ExtendOrShrinkToSubwordRight | Grow or shrink selection to the right subword start/end
Shift-Win-RightArrow | ExtendOrShrinkToWordRight | Grow or shrink selection to the right word start/end
Shift-Alt-RightArrow | ExtendOrShrinkToLineRight | Grow or shrink selection to the right line start/end
Alt-Control-RightArrow | SwapWithNextCharacter | Swap selection with following character
Alt-Win-RightArrow | SwapWordRight | Swap word with the next word to the right ; skips',' '==', etc.
UpArrow | UpArrow | Move cursor to the previous line
Alt-UpArrow | GoToHome | Move cursor to document start
Win-UpArrow | GoToPageUp | Move cursor to the top of the page or one page up
Shift-UpArrow | ExtendOrShrinkUp | Grow or shrink one line up
Alt-Control-UpArrow | SwapWithPreviousLine | Swap the lines containing the selection with the previous line (drag lines one up)
Shift-Control-UpArrow | FPGoToPreviousFunction | Go to last function before the selection start
DownArrow | DownArrow | Move cursor to the next line
Alt-DownArrow | GoToEnd | Move cursor to document end
Win-DownArrow | GoToPageDown | Move cursor to the bottom of the page or one page down
Shift-DownArrow | ExtendOrShrinkDown | Grow or shrink one line down
Alt-Control-DownArrow | SwapWithNextLine | Swap the lines containing the selection with the next line (drag lines one down)
Shift-Control-DownArrow | FPGoToNextFunction | Go to first function after the selection end
Alt-. | ShellBreak | Break the process currently executing in the shell (Ctrl-C)
Alt-/ | UncommentOrPreferredComment | If selection commented, remove comments, else use preferred comments, based on document type
Alt-Win-/ | UncommentOrAlternateComment | If selection commented, remove comments, else use alternate comments, based on document type; (C comments for C++ documents and vice versa)
Alt-0 | ActivateWorksheet | Make Worksheet the active document; if Worksheet not open, try opening it
Alt-Win-0 | ActivateMainWorkset | Make Main Workset the active document
Alt-A | SelectAll | Extend selection from document start to document end
Alt-Control-A | ToggleWrapAroundSearch | Turn the search wrapping on/off
Alt-B | Balance | Extend selection to enclosing (), [] or {} pair
Alt-Win-B | IfdefBalancerBalance | Extend selection to enclosing ifdef/endif pair
Shift-Alt-B | IfdefBalancerInclusiveBalance | Extend selection to enclosing ifdef/endif pair, inclusive
Alt-C | Copy | Copy selected text into main clipboard
Alt-Win-C | CopyOnStack | Copy selected text as a new entry onto the clipboard stack of the main clipboard
Shift-Alt-C | CopyAndAppend | Append selected text to the main clipboard contents
Control-C | ShellBreak | Break the process currently executing in the shell (Ctrl-C)
Alt-D | OpenSelection | Extend selection to a file name and try opening the selected file name
Alt-Win-D | SimpleOpenSelection | Try opening the selected file name without first extending the selection
Alt-E | EnterFindString | Enter selection as a search string
Alt-Control-E | EnterReplaceString | Enter selection as a replace string
Alt-F | OpenFindPanel | Show the Find panel
Alt-Win-F | OpenQuickFindPanel | Show the QuickFind panel
Alt-Control-F | FindPanelToggleKeepInFront | Turn keep find window in front on/off
Alt-G | FindAgain | Find the next occurrence of the current search string
Shift-Alt-G | ReverseFindAgain | Find the previous occurrence of the current search string
Alt-H | EnterAndFind | Enter selection as a search string and search for it forward
Shift-Alt-H | EnterAndFindReverse | Enter selection as a search string and search for it backward
Alt-Control-I | OpenBefore | Insert a line after the current line and move the cursor to the new line
Shift-Alt-Control-I | OpenAfter | Insert a line before the current line and move the cursor to the new line
Alt-L | GoToLine | Show the Go to line dialog
Alt-N | NewDocument | Create a new empty document
Alt-O | OpenDocument | Show the Open document panel in previously accessed directory
Alt-Win-O | OpenFromDocumentsDir | Show the Open document panel in curent documents directory
Alt-Win-P | ActivateNextWindow | Rotate windows, bringing the next window to the front
Shift-Alt-Win-P | ActivatePreviousWindow | Rotate windows, bringing the previous window to the front
Control-Win-P | PrototyperGetOrPastePrototypes | If empty, fill clipboard, if full, paste prototyper clipboard into selection
Control-P | PrototyperGetOrPasteAllPrototypes | If empty, fill clipboard, include static, inlined and pure virtual calls, if full, paste prototyper clipboard into selection
Alt-Win-S | SaveAll | Save all documents
Alt-S | Save | Save document
Alt-Control-S | ToggleCaseSensitiveSearch | Turn the case sensitive search on/off
Alt-T | ReplaceAndFind | Replace selection with replace text and find next occurrence of the current search string
Alt-U | UpperCaseWord | Select word and convert to upper case
Alt-V | Paste | Paste the main clipboard into the selection
Alt-Win-V | PasteFromStack | Pop the contents of the main clipboard and paste it into the selection; the next item on the clipboard stack will become available
Alt-Control-V | SwapWithClipboard | Swap the contents of the selection with the contents of the main clipboard
Alt-Win-W | CloseAll | Close all documents, leave worksheet open
Alt-Control-W | ToggleWholeWordSearch | Turn the whole word search on/off
Alt-X | Cut | Cut selected text into main clibpoard
Alt-Win-X | CutOnStack | Cut selected text as a new entry onto the clipboard stack of the main clipboard
Shift-Alt-X | CutAndAppend | Cut selected text and append to the main clipboard
Alt-Control-X | ToggleRegExpSearch | Turn the regular expression search on/off
Alt-Z | Undo | Undo last action or series of consecutive actions
Alt-Win-Z | Redo | Undo the effect of a previous Undo, if applicable
Alt-[ | IndentLeft | Remove the first tab on each selected line
Alt-] | IndentRight | Add a tab at the start of each selected line
Kp1 | PasteExtended1 | Paste the first extended clipboard into the selection
Win-Kp1 | PasteFromStackExtended1 | Pop the contents of the first extended clipboard and paste it into the selection; the next item on the clipboard stack will become available
Alt-Kp1 | CopyExtended1 | Copy selected text into first extended clipboard
Shift-Alt-Kp1 | CopyAndAppendExtended1 | Append selected text to the first extended clipboard contents
Alt-Win-Kp1 | CopyOnStackExtended1 | Copy selected text as a new entry onto the clipboard stack of the first extended clipboard
Control-Kp1 | ClearClipboardExtended1 | Remove everything from the first extended clipboard
Alt-Control-Kp1 | SwapWithClipboardExtended1 | Swap the contents of the selection with the contents of the first extended clipboard
Kp2 | PasteExtended2 | Paste the second extended clipboard into the selection
Win-Kp2 | PasteFromStackExtended2 | Pop the contents of the second extended clipboard and paste it into the selection; the next item on the clipboard stack will become available
Alt-Kp2 | CopyExtended2 | Copy selected text into second extended clipboard
Shift-Alt-Kp2 | CopyAndAppendExtended2 | Append selected text to the second extended clipboard contents
Alt-Win-Kp2 | CopyOnStackExtended2 | Copy selected text as a new entry onto the clipboard stack of the second extended clipboard
Control-Kp2 | ClearClipboardExtended2 | Remove everything from the second extended clipboard
Alt-Control-Kp2 | SwapWithClipboardExtended2 | Swap the contents of the selection with the contents of the second extended clipboard
Kp3 | PasteExtended3 | Paste the second extended clipboard into the selection
Win-Kp3 | PasteFromStackExtended3 | Pop the contents of the third extended clipboard and paste it into the selection; the next item on the clipboard stack will become available
Alt-Kp3 | CopyExtended3 | Copy selected text into third extended clipboard
Shift-Alt-Kp3 | CopyAndAppendExtended3 | Append selected text to the third extended clipboard contents
Alt-Win-Kp3 | CopyOnStackExtended3 | Copy selected text as a new entry onto the clipboard stack of the third extended clipboard
Control-Kp3 | ClearClipboardExtended3 | Remove everything from the third extended clipboard
Alt-Control-Kp3 | SwapWithClipboardExtended3 | Swap the contents of the selection with the contents of the third extended clipboard
Delete | Delete | Delete selected text or character before cursor
Alt-Delete | DeleteToDocumentEnd | Delete text from selection start to document end
Shift-Alt-Delete | DeleteFromDocumentBeginning | Delete text from beginning of document to selection end
Win-Delete | DeleteToLineEnd | Delete text from selection start to line end
Shift-Win-Delete | DeleteFromLineBeginning | Delete text from beginning of line to selection end
Control-Delete | DeleteLine | Extend selection to a whole line/lines and delete
Shift-Delete | Delete | Delete selected text or character before cursor