Appendix A - Keyboard shortcut reference

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

This list with all the up-to-date shortcuts can be generated by using the SetKey --html command.

Shortcut

Primitive

Description

Home

ShowHome

Scroll document to the top, do not move cursor/selection

⌥ Home

GoToHome

Move cursor to document start

⇧ Home

ExtendToDocumentBeginning

Extend selection to document beginning

Enter

SwitchToLastEdit

Switch to the last edit location

⌥ Enter

GoBackToPreviousEdit

Go back in the edit history to the previous edit location

⇧⌥ Enter

GoForwardToNextEdit

Go forward in the edit history to the next edit location

End

ShowEnd

Scroll document to the bottom, do not move cursor/selection

⌥ End

GoToEnd

Move cursor to document end

⇧ End

ExtendToDocumentEnd

Extend selection to document end

Backspace

Delete selected text or character before cursor

⌘ ⌫

DeleteToDocumentEnd

Delete text from selection start to document end

⇧⌘ ⌫

DeleteFromDocumentBeginning

Delete text from beginning of document to selection end

⌥ ⌫

DeleteToLineEnd

Delete text from selection start to line end

⇧⌥ ⌫

DeleteFromLineBeginning

Delete text from beginning of line to selection end

⌃ ⌫

DeleteLine

Delete the line (lines) containing a selection, including the trailing newline

⇧ ⌫

Delete

Delete selected text or character after cursor (forward Delete)

⇧ ⇥

IndentLeft

Remove the first tab on each selected line

TabOrIndentRight

If selection empty, insert Tab else indent right

⇧⌃ ⇥

ActivatePreviousTab

Activate the previous document tab

⌃ ⇥

ActivateNextTab

Activate the next document tab

⌥ Return

SwitchToLastEdit

Switch to the last edit location

⌘⌃⌥ Return

TempShellExecute

Execute selection or a line with the cursor in a temporary shell

PageUp

ShowPageUp

Scroll document one page up, do not move cursor/selection

⌥ 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

⌥ PageDown

GoToPageDown

Move cursor to the bottom of the page or one page down

LeftArrow

Move cursor left

⇧ ←

ExtendOrShrinkLeft

Grow or shrink selection one character left

⌃ ←

SelectSubwordBeginning

Move cursor to the beginning of the first selected subword

⌥ ←

SelectWordBeginning

Move cursor to the beginning of the first selected word

⌘ ←

SelectLineBeginning

Move cursor to the beginning of the first selected line

⇧⌃ ←

ExtendOrShrinkToSubwordLeft

Grow or shrink selection to the left subword start/end

⇧⌥ ←

ExtendOrShrinkToWordLeft

Grow or shrink selection to the left word start/end

⇧⌘ ←

ExtendOrShrinkToLineLeft

Grow or shrink selection to the left line start/end

⌘⌃ ←

SwapWithPreviousCharacter

Swap selection with previous character

⌘⌥ ←

SwapWordLeft

Swap word with the previous word to the left; skips ',' '==', etc.

RightArrow

Move cursor right

⇧ →

ExtendOrShrinkRight

Grow or shrink one character right

⌃ →

SelectSubwordEnd

Move cursor to the end of the last selected subword

⌥ →

SelectWordEnd

Move cursor to the end of the last selected word

⌘ →

SelectLineEnd

Move cursor to the end of the last selected line

⇧⌃ →

ExtendOrShrinkToSubwordRight

Grow or shrink selection to the right subword start/end

⇧⌥ →

ExtendOrShrinkToWordRight

Grow or shrink selection to the right word start/end

⇧⌘ →

ExtendOrShrinkToLineRight

Grow or shrink selection to the right line start/end

⌘⌃ →

SwapWithNextCharacter

Swap selection with following character

⌘⌥ →

SwapWordRight

Swap word with the next word to the right ; skips',' '==', etc.

UpArrow

Move cursor to the previous line

⌘ ↑

GoToHome

Move cursor to document start

⌥ ↑

GoToPageUp

Move cursor to the top of the page or one page up

⇧ ↑

ExtendOrShrinkUp

Grow or shrink one line up

⌃ ↑

ScrollLineUp

Scroll page one line up and move cursor by the same amount

⌃⌥ ↑

ShowLineUp

Scroll page one line up, do not move cursor/selection

⇧⌘ ↑

ExtendToDocumentBeginning

Extend selection to document beginning

⇧⌃ ↑

FPGoToPreviousFunction

Go to last function before the selection start

⌘⌃ ↑

PullSelectionOrLinesUp

Swap the lines containing the selection with the previous line (drag lines one up)

DownArrow

Move cursor to the next line

⌘ ↓

GoToEnd

Move cursor to document end

⌥ ↓

GoToPageDown

Move cursor to the bottom of the page or one page down

⇧ ↓

ExtendOrShrinkDown

Grow or shrink one line down

⌃ ↓

ScrollLineDown

Scroll page one line down and move cursor by the same amount

⌃⌥ ↓

ShowLineDown

Scroll page one line down, do not move cursor/selection

⇧⌘ ↓

ExtendToDocumentEnd

Extend selection to document end

⇧⌃ ↓

FPGoToNextFunction

Go to first function after the selection end

⌘⌃ ↓

PullSelectionOrLinesDown

Swap the lines containing the selection with the previous line (drag lines one up)

⌃ ↓

SymbolCompletionListNext

If completion list is showing, scroll down to the next item. (--tryFirst shortcut).

⇧⌘ +

IncreaseFontSize

Increase the font size in the frontmost window

⇧⌘ ,

GoToHome

Move cursor to document start

⌘ -

DecreaseFontSize

Decrease the font size in the frontmost window

⌃ .

SymbolCompletion

Attempt to complete a symbol in source code. Requires a 'tags' file generated by ctags.

⇧⌘ .

GoToEnd

Move cursor to document end

⌃⌥ /

DeclarationLookup

Look up a symbol declaration in source code. Requires a 'tags' file generated by ctags.

⌘⌥ /

DefinitionLookup

Look up a symbol definition in source code. Requires a 'tags' file generated by ctags.

⇧⌘⌥ /

SymbolLookupDialog

Look up a symbol declaration or definition in source code. Forces search string entry dialog. Requires a 'tags' file generated by ctags.

⌘ /

UncommentOrPreferredComment

If selected lines commented, remove comments, else use preferred comments, based on document type

⌘⌃ /

UncommentOrCommentSelection

If selection commented, remove comments, else comment selection using C or HTML style comments

⌘ 0

ActivateWorksheet

Make Worksheet the active document; if Worksheet not open, try opening it

⌘⌥ 0

ActivateWorkset

Open the workset the document belongs to or the default workset

⌃ 0

IfdefBalancerIfZeroSelection

Enclose selected lines with an #if 0/#endif pair

⌘ 1

ActivateShell1

Activate shell window No. 1

⌘ 2

ActivateShell2

Activate shell window No. 2

⌘ 3

ActivateShell3

Activate shell window No. 3

⌘ 4

ActivateShell4

Activate shell window No. 4

⌘ 5

ActivateShell5

Activate shell window No. 5

⌘ 6

ActivateShell6

Activate shell window No. 6

⌘ 7

ActivateShell7

Activate shell window No. 7

⌘ 8

ActivateShell8

Activate shell window No. 8

⌘ =

ReplaceAndFind

Replace selection with replace text and find next occurrence of the current search string

⌘ A

SelectAll

Extend selection from document start to document end

⌃ A

SelectLineBeginning

Move cursor to the beginning of the first selected line

⌘⌃ A

ToggleWrapAroundSearch

Turn the search wrapping on/off

⌃ B

LeftArrow

Move cursor left

⌘ B

Balance

Extend selection to enclosing (), [] or {} pair

⌘⌥ B

IfdefBalancerBalance

Extend selection to enclosing ifdef/endif pair

⇧⌘ B

IfdefBalancerInclusiveBalance

Extend selection to enclosing ifdef/endif pair, inclusive

⌘⌃ B

IfdefBalancerIfDebugSelection

Enclose selected lines with an #if DEBUG/#endif pair

⌘ C

Copy

Copy selected text into main clipboard

⌘⌥ C

CopyOnStack

Copy selected text as a new entry onto the clipboard stack of the main clipboard

⇧⌘ C

CopyAndAppend

Append selected text to the main clipboard contents

⌃ C

ShellBreak

Break the process currently executing in the shell (Ctrl-C)

⌘ D

OpenSelection

Extend selection to a file name and try opening the selected file name

⌃ D

OpenSelectionAsTabAlternate

Extend selection to a file name and try opening the selected file name. Invert the Open as Tab setting.

⇧⌘⌃ D

SimpleOpenSelection

Try opening the selected file name without first extending the selection

⇧⌘ D

OpenHeader

Show the Open header dialog

⌃ E

SelectLineEnd

Move cursor to the end of the last selected line

⌘ E

EnterFindString

Enter selection as a search string

⇧⌘ E

EnterNewFindString

Enter selection as the next search string, adding a new search slice if needed.

⌘⌥ E

EnterReplaceString

Enter selection as a replace string

⌘⌃ E

SearchSelectNextFindString

Select the next string in the recent search strings list as current.

⇧⌘⌃ E

SearchSelectPreviousFindString

Select the previous string in the recent search strings list as current.

⌃ F

RightArrow

Move cursor right

⌘ F

OpenFindPanel

Show the Find panel

⌘⌃ F

OpenQuickFindPanel

Show the QuickFind panel

⌘⌥ F

OpenQuickFindPanelFromCurrentPos

Show the QuickFind panel, starting search at current position

⇧⌘ F

SetMultiFileSearchInWorkset

Turn the multi-file search in the current workset on

⌘ G

FindAgain

Find the next occurrence of the current search string

⇧⌘ G

ReverseFindAgain

Find the previous occurrence of the current search string

⌘⌥ G

FindInNextDocument

Find the next occurrence of the current search string in the next document. Multi-file search only

⇧⌘⌥ G

FindInPreviousDocument

Find the previous occurrence of the current search string in the previous document. Multi-file search only

⌘ I

IfdefBalancerIfUserSymbolSelection

Enclose selected lines with an #if /#endif pair; is defined by selecting a desired string and using the Use selection... menu item

⇧⌘ I

IfdefBalancerIfNotUserSymbolSelection

Enclose selected lines with an #if !/#endif pair; is defined by selecting a desired string and using the Use selection... menu item

⌘⌥ I

IfdefBalancerIfdefUserSymbolSelection

Enclose selected lines with an #ifdef /#endif pair; is defined by selecting a desired string and using the Use selection... menu item

⇧⌘⌥ I

IfdefBalancerIfndefUserSymbolSelection

Enclose selected lines with an #ifndef /#endif pair; is defined by selecting a desired string and using the Use selection... menu item

⌘⌃ I

IfdefBalancerSelectNextUserSymbol

Select the next string in the recent #ifdef user symbol list as current

⇧⌘⌃ I

IfdefBalancerSelectPreviousUserSymbol

Select the previous string in the recent #ifdef user symbol list as current

⌘⌃⌥ I

IfdefBalancerDefineUserSymbol

Use the selected text as a user defined #ifdef symbol

⌘ J

EnterAndFind

Enter selection as a search string and search for it forward

⇧⌘ J

EnterAndFindReverse

Enter selection as a search string and search for it backward

⌘⌃ K

OpenBefore

Insert a line after the current line and move the cursor to the new line

⇧⌘⌃ K

OpenAfter

Insert a line before the current line and move the cursor to the new line

⌘ L

GoToLine

Show the Go to line dialog

⌘⌃ M

ToggleMultiFileSearch

Turn the multiple-file search on/off

⌘ N

NewDocument

Create a new empty document. Depending on the Open in tabs setting, a new window or a new tab is created.

⌘⌥ N

NewDocumentAsTabAlternate

Create a new empty document. Invert the meaning of the Open in tabs setting.

⌃ N

DownArrow

Move cursor to the next line

⌘ O

OpenDocument

Show the Open document panel in previously accessed directory

⌘⌥ O

OpenDocumentAsTabAlternate

Show the Open document panel in previously accessed directory. Invert the meaning of the Open in tabs setting.

⌘⌃ O

OpenInPreferredEditor

Reopen the document in it's preferred editor (for instance Safari for .html)

⌘⌃ P

ActivateNextWindow

Rotate windows, bringing the next window to the front

⇧⌘⌃ P

ActivatePreviousWindow

Rotate windows, bringing the previous window to the front

⌃ P

PrototyperGetOrPasteAllPrototypes

If empty, fill clipboard, include static, inlined and pure virtual calls, if full, paste prototyper clipboard into selection

⌃⌥ P

PrototyperGetOrPastePrototypes

If empty, fill clipboard, if full, paste prototyper clipboard into selection

⌘⌥ P

SetMultiFileSearchInTargetDir

Turn the multi-file search in the target document directory on

⇧⌘⌥ P

SetMultiFileSearchInOpenWindows

Turn the multi-file search of all open windows on

⌘ Q

Quit

Quit Eddie, prompting to save unsaved documents

⌘⌥ S

SaveAll

Save all documents

⌘ S

Save

Save document

⌘⌃ S

ToggleCaseSensitiveSearch

Turn the case sensitive search on/off

⇧⌘ T

ToggleTabBar

Show/hide Tab bar

⌘⌃ T

MergeFrontWindowsAsTabs

Add all the document tabs of the frontmost window as tabs to the window behind it

⇧⌘⌃ T

MergeAllWindowsAsTabs

All the open document windows excluding the worksheet will be consolidated into a single window as tabs

⇧⌘⌥ T

SetMultiFileSearchInTabs

Turn the multi-file search in the all tabs in the current window on

⌘ U

UpperCaseWord

Select word and convert to upper case

⌘⌥ U

MoveTabToNewWindow

Move the active tab into a separate window

⇧⌘⌥ U

MoveAllTabsToNewWindows

Split all the tabs in the current window into separate windows

⌘ V

Paste

Paste the main clipboard into the selection

⌃ V

PasteFromHistory

Show a clipboard history popup and offer a paste from history

⌘⌥ 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

⌘⌃ V

SwapWithClipboard

Swap the contents of the selection with the contents of the main clipboard

⌘ W

CloseTab

Close tab

⌘⌥ W

CloseAll

Close all documents, leave worksheet open

⇧⌘ W

Close

Close window

⌘⌃ W

ToggleWholeWordSearch

Turn the whole word search on/off

⌘ X

Cut

Cut selected text into main clipboard

⌘⌥ X

CutOnStack

Cut selected text as a new entry onto the clipboard stack of the main clipboard

⇧⌘ X

CutAndAppend

Cut selected text and append to the main clipboard

⌘⌃ X

ToggleRegExpSearch

Turn the regular expression search on/off

⌘ Z

Undo

Undo last action or series of consecutive actions

⇧⌘ Z

Redo

Redo last action or series of consecutive actions

⌘ [

IndentLeft

Remove the first tab on each selected line

⇧⌘ [

MicroIndentLeft

Indent the text start of each selected line by a space to the left

⌘ \

SwitchWithNext

Switch window with the one next behind it

⌘ ]

IndentRight

Add a tab at the start of each selected line

⇧⌘ ]

MicroIndentRight

Indent the text start of each selected line by a space to the right

⌘ `

SwapWithHeaderFile

If .cpp file open, try opening a .h file and vice versa

⌘⌥ `

SwapWithHeaderFileAsTabAlternate

If .cpp file open, try opening a .h file and vice versa. Invert the Open as Tab setting.

Kp1

PasteExtended1

Paste the top of the first extended clipboard into the selection

⌥ 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

⌘ Kp1

CopyExtended1

Copy selected text into first extended clipboard

⇧⌘ Kp1

CopyAndAppendExtended1

Append selected text to the first extended clipboard contents

⌘⌥ Kp1

CopyOnStackExtended1

Copy selected text as a new entry onto the clipboard stack of the first extended clipboard

⌃ Kp1

ClearClipboardExtended1

Remove everything from the first extended clipboard

⌘⌃ Kp1

SwapWithClipboardExtended1

Swap the contents of the selection with the contents of the first extended clipboard

Kp2

PasteExtended2

Paste the top of the second extended clipboard into the selection

⌥ 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

⌘ Kp2

CopyExtended2

Copy selected text into second extended clipboard

⇧⌘ Kp2

CopyAndAppendExtended2

Append selected text to the second extended clipboard contents

⌘⌥ Kp2

CopyOnStackExtended2

Copy selected text as a new entry onto the clipboard stack of the second extended clipboard

⌃ Kp2

ClearClipboardExtended2

Remove everything from the second extended clipboard

⌘⌃ Kp2

SwapWithClipboardExtended2

Swap the contents of the selection with the contents of the second extended clipboard

Kp3

PasteExtended3

Paste the top of the third extended clipboard into the selection

⌥ 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

⌘ Kp3

CopyExtended3

Copy selected text into third extended clipboard

⇧⌘ Kp3

CopyAndAppendExtended3

Append selected text to the third extended clipboard contents

⌘⌥ Kp3

CopyOnStackExtended3

Copy selected text as a new entry onto the clipboard stack of the third extended clipboard

⌃ Kp3

ClearClipboardExtended3

Remove everything from the third extended clipboard

⌘⌃ Kp3

SwapWithClipboardExtended3

Swap the contents of the selection with the contents of the third extended clipboard

Delete

Delete selected text or character after cursor (forward Delete)

⌘ ⌦

DeleteToDocumentEnd

Delete text from selection start to document end

⇧⌘ ⌦

DeleteFromDocumentBeginning

Delete text from beginning of document to selection end

⌥ ⌦

DeleteToLineEnd

Delete text from selection start to line end

⇧⌥ ⌦

DeleteFromLineBeginning

Delete text from beginning of line to selection end

⌃ ⌦

DeleteLine

Delete the line (lines) containing a selection, including the trailing newline

⇧ ⌦

Delete

Delete selected text or character after cursor (forward Delete)