Delphi Programming
No edit summary
No edit summary
(22 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 
{|
 
{|
!style="background:#efefef; width:100px;"|Shortcut
+
! style="background:#efefef; width:80px; text-align:left;" |Shortcut
!style="background:#efefef; width:300px;"|Description
+
! style="background:#efefef; text-align:left;" |Description
!style="background:#efefef; width:100px;"|IDE Version
+
! style="background:#efefef; width:100px; text-align:left;" |IDE Version
  +
|-
  +
|Shift+Click
  +
|After selecting control in form designer, click on it with Shift again to select top most parent Form
  +
|Delphi 5+
 
|-
 
|-
 
|Escape
 
|Escape
 
|Selects parent control in design mode. Left mouse click + Escape drags the parent control
 
|Selects parent control in design mode. Left mouse click + Escape drags the parent control
|Delphi 2 and up
+
|Delphi 2+
 
|-
 
|-
  +
|Ins
  +
|Insert Mode on / off
 
|
 
|
|Shift + Click
 
|After selecting control in form designer, click on it with Shift again to select top most parent Form
 
|Delphi 5 and up
 
 
|-
 
|-
 
|Tab
 
|Tab
 
|In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value
 
|In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|F1
|Ctrl + J
 
  +
|Display Help
|Invoke code templates also called code snippets
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|F3
|Ctrl + T
 
  +
|Find again
|Delete text from cursor position until end of word
 
  +
|
|Delphi 5 and up
 
|-
 
|Ctrl + E
 
|[http://bdntv.borland.com/pix/nickhodges/Camtasia/IncrementalSearch/IncrementalSearch.html Incremental search]
 
|Delphi 5 and up
 
|-
 
|Ctrl + Y
 
|Delete current line
 
|Delphi 5 and up
 
|-
 
|Ctrl + B
 
|Invoke buffer window when focus is on editor. The buffer window shows a list of all different tabs.
 
|Delphi 2007 and up
 
|-
 
|Ctrl + Shift + G
 
|Insert a new GUID at the cursor position
 
|Delphi 5 and up
 
|-
 
|Ctrl + Shift + I
 
|Indent the current selected block
 
|Delphi 5 and up
 
|-
 
|Ctrl + Shift + U
 
|Unindent the current selected block
 
|Delphi 5 and up
 
|-
 
|Ctrl + K + I
 
|Indent the current selected block or current line in case of no selection
 
|Delphi 5 and up
 
|-
 
|Ctrl + K + U
 
|Unindent the current selected block or current line in case of no selection
 
|Delphi 5 and up
 
|-
 
|Ctrl + Shift + J
 
|Invoke SyncEdit
 
|[[Borland Developer Studio 2006]]
 
|-
 
|Ctrl + Shift + V
 
|Automatically declare variable at cursor position
 
|[[Borland Developer Studio 2006]]
 
|-
 
|Ctrl + Shift + Y
 
|Delete to the end of line
 
|Delphi 5 and up
 
|-
 
|Alt + [
 
|Match pair forward
 
|Delphi 5 and up
 
|-
 
|Alt + ]
 
|Match pair backward
 
|Delphi 5 and up
 
|-
 
|Alt + RightArrow
 
|Browse forward (hotlink history)
 
|Delphi 6 and up
 
|-
 
|Alt + LeftArrow
 
|Browse backward (hotlink history)
 
|Delphi 6 and up
 
|-
 
|Alt + UpArrow
 
|Browse to symbol under editor cursor (invoke a hotlink and add it to the hotlink history)
 
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
 
|F4
 
|F4
 
|Run program to current cursor position
 
|Run program to current cursor position
|Delphi 2 and up
+
|Delphi 2+
 
|-
 
|-
 
|F5
 
|F5
 
|Toggle breakpoint
 
|Toggle breakpoint
|Delphi 2 and up
+
|Delphi 2+
  +
|-
  +
|F6 or Ctrl+. (Period)
  +
|IDE Insight
  +
|at least since Delphi 10.2
 
|-
 
|-
 
|F7
 
|F7
 
|Debugger step into
 
|Debugger step into
|Delphi 2 and up
+
|Delphi 2+
|-
 
|Shift - F7
 
|Trace into next source line
 
|Delphi 5 and up
 
 
|-
 
|-
 
|F8
 
|F8
 
|Debugger step over
 
|Debugger step over
|Delphi 2 and up
+
|Delphi 2+
|-
 
|Shift - F8
 
|Run until return
 
|Delphi 5 and up
 
 
|-
 
|-
 
|F9
 
|F9
 
|Run program under debugger
 
|Run program under debugger
|Delphi 2 and up
+
|Delphi 2+
 
|-
 
|-
  +
|F11
|Ctrl + F2
 
  +
|Invoke Object Inspector window
|Program Reset
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|F12
|Ctrl + F7
 
  +
|Toggle between code view and design view
|Evaluate/modify
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+Backspace
|Ctrl + F5
 
  +
| Edit |Undo
|Add Watch
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Alt+RightArrow
|Ctrl + F12
 
  +
|Browse forward (hotlink history)
|View units
 
|Delphi 2 and up
+
|Delphi 6+
 
|-
 
|-
|Alt + G
+
|Alt+LeftArrow
  +
|Browse backward (hotlink history)
|Goto line number in editor
 
|Delphi 2 and up
+
|Delphi 6+
 
|-
 
|-
  +
|Alt+UpArrow
|Ctrl + O + G
 
  +
|Browse to symbol under editor cursor (invoke a hotlink and add it to the hotlink history)
|Goto line number in editor
 
|Delphi 5 and up
+
|Delphi 7+
 
|-
 
|-
  +
|Alt+F7/F8
|Ctrl + Shift + R
 
  +
|Previous/next result (for Find in Files and Build Error Messages)
|Start/stop recording editor macro
 
|Delphi 2 and up
+
|Delphi 7+
 
|-
 
|-
  +
|Alt+F10
|Ctrl + Shift + P
 
  +
|Display Popup menu
|Play editor macro
 
  +
|
|Delphi 2 and up
 
 
|-
 
|-
  +
|Alt+F11
|Ctrl + Spacebar
 
|Invoke code completion
+
|Invoke Use unit dialog
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+F12
|Ctrl + Shift + Spacebar
 
  +
|Toggle between Form as text mode or design mode
|Invoke code parameter hints
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+[
|Ctrl + Enter
 
  +
|Match pair forward
|Open file at cursor
 
|Delphi 2 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+]
|Ctrl + Shift + Enter
 
  +
|Match pair backward
|Find all references
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+0
|Ctrl + Shift + C
 
  +
|Invoke Window list
|Invoke class completion for the class that currently contains the cursor
 
|Delphi 5 and up
+
|Delphi 2005+
 
|-
 
|-
  +
|Alt+G
|Ctrl + Shift + UpArrow
 
  +
|Goto line number in editor
|Navigate to method implementation/declaration
 
|Delphi 5 and up
+
|Delphi 2+
 
|-
 
|-
  +
|Alt+X
|Ctrl + Shift + DownArrow
 
  +
|Cut word under cursor / current selected block
|Navigate to method implementation/declaration
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Shift + 1 - 9
+
|Ctrl+Backspace
  +
|Delete the word to the beginning
|Set a bookmark at current row in the source
 
  +
|
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl + 1 - 9
+
|Ctrl+Spacebar
  +
|Invoke code completion
|Go to a bookmark row in the source
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Alt + F12
+
|Ctrl+Tab
|Opens the drop-down on the top-right corner of the code editor, listing all open files
+
|Switch to the next open file in the editor
  +
|Delphi 2006+
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + Mouse Wheel
+
|Ctrl+Enter
  +
|Open file at cursor
|Navigate to previous or next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
 
  +
|Delphi 2+
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + UpArrow
+
|Ctrl+INS
  +
|Copy selected Block
|Navigate to previous method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + DownArrow
+
|Ctrl+LeftArrow
  +
|Moves one word left
|Navigate to next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + Home
+
|Ctrl+RightArrow
  +
|Moves one word right
|Navigate to the lexically first method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + End
+
|Ctrl+UpArrow
  +
|Scrolls up one line
|Navigate to the lexically last method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + P
+
|Ctrl+DownArrow
  +
|Scrolls down one line
|Activate the Tool Palette in filtering mode (start typing, press Enter to drop component)
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + Alt + A
+
|Ctrl+PgDn
  +
|Moves to the bottom of a screen
|Adds current date to source code
 
  +
|
|since BCB 4.0
 
 
|-
 
|-
|Ctrl + /
+
|Ctrl+PgUp
  +
|Moves to the top of a screen
|Toggle comment per line or selected block and cursors goes down one line, Ctrl + # on nordic (and perhaps other international ) keyboards
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + Shift + T
+
|Ctrl+Home
  +
|Moves to the top of a file
|Add todo list item
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
  +
|Ctrl+End
|Alt + F12
 
  +
|Moves to the end of a file
|Toggle between Form as text mode or design mode
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+F1
|Alt + F11
 
  +
| Help |Topic Search
|Invoke Use unit dialog
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + F11
+
|Ctrl+F2
  +
|Program Reset
|Invoke Open Project Dialog
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Alt + F11
+
|Ctrl+F3
  +
|Show Call Stack
|Invoke Project manager window
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
  +
|Ctrl+F4
|F11
 
  +
|Close current editor tab
|Invoke Object Inspector window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+F5
|F12
 
  +
|Add Watch
|Toggle between code view and design view
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Alt + 0
+
|Ctrl+F6
  +
|Switches between source (.cpp) and header (.h)
|Invoke Window list
 
  +
|
|Delphi 2005 and up
 
  +
BDS 2006+ C++ Builder personality
 
|-
 
|-
  +
|Ctrl+F7
|Shift + Alt + F11
 
  +
|Evaluate/modify
|Invoke Structure window
 
|Delphi 2005 and up
+
|Delphi 2005+
 
|-
 
|-
|Ctrl + Shift + B
+
|Ctrl+F9
  +
|Compile Project
|Invoke Browser window
 
|Delphi 5
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Alt + B
+
|Ctrl+F10
  +
|Open Main Menu
|Invoke Breakpoint window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + S
+
|Ctrl+F11
|Invoke Call Stack window
+
|Invoke Open Project Dialog
|Delphi 5 and up
+
|Delphi 2005+
 
|-
 
|-
|Ctrl + Alt + W
+
|Ctrl+F12
  +
|View units
|Invoke Watches window
 
|Delphi 5 and up
+
|Delphi 2+
 
|-
 
|-
|Ctrl + Alt + L
+
|Ctrl+/
  +
|Toggle comment per line or selected block and cursors goes down one line, Ctrl+# on nordic (and perhaps other international ) keyboards
|Invoke Local Variables window
 
|Delphi 5 and up
+
|Delphi 2005+
 
|-
 
|-
|Ctrl + Alt + T
+
|Ctrl+. (Period)
  +
|IDE Insight
|Invoke Threads window
 
  +
|at least since Delphi 10.2
|Delphi 7 and up
 
 
|-
 
|-
|Ctrl + Alt + F
+
|Ctrl+1..9
  +
|Go to a bookmark row in the source
|Invoke FPU window
 
  +
|BDS 2006+
|Delphi 2005(removed from Delphi 2006)
 
 
|-
 
|-
|Ctrl + Alt + C
+
|Ctrl+A
  +
|Select all
|Invoke CPU window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + V
+
|Ctrl+B
  +
|Invoke buffer window when focus is on editor. The buffer window shows a list of all different tabs.
|Invoke Event window
 
|Delphi 5 and up
+
|Delphi 2007+
 
|-
 
|-
|Ctrl + Alt + M
+
|Ctrl+C
  +
|Copy word under Cursor / selected block
|Invoke Modules window
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
  +
|Ctrl+D
|Shift + F12
 
  +
|Delete a currently selected block
|Invoke Forms window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Shift + A
+
|Ctrl+E
  +
|[http://bdntv.borland.com/pix/nickhodges/Camtasia/IncrementalSearch/IncrementalSearch.html Incremental search]
|Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring)
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Shift + F11
+
|Ctrl+F
  +
|Find
|Invoke Project Options window
 
|Delphi 2005 and up
+
|Delphi 3+
 
|-
 
|-
|Ctrl + F9
+
|Ctrl+G
  +
|Goes to declaration (same as Ctrl+Click or Alt+UpArrow)
|Compile Project
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+H
|Shift + F9
 
  +
| Replace Dialog
|Build Project
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+I
|Shift + F11
 
  +
|Inserts a tab character
|Invoke Add to project window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Shift + Ctrl + F9
+
|Ctrl+J
  +
|Invoke code templates also called code snippets
|Run without debugging
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + F
+
|Ctrl+K B
  +
|Sets start of selection (Ctrl+K K sets the end)
|Find
 
|Delphi 3 and up
+
|Delphi 5+
 
|-
 
|-
|Shift + Ctrl + F
+
|Ctrl+K C
  +
|Copies selected text at the end of the selection
|Find in Files
 
|Delphi 3 and up
+
|Delphi 5+
 
|-
 
|-
|Alt + F7/F8
+
|Ctrl+K E
|Previous/next result (for Find in Files and Build Error Messages)
 
|Delphi 7 and up
 
|-
 
|Ctrl+K+E
 
 
|Changes a word to lowercase and deselects selection
 
|Changes a word to lowercase and deselects selection
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+K+F
+
|Ctrl+K F
 
|Changes a word to uppercase and deselects selection
 
|Changes a word to uppercase and deselects selection
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+K+O
+
|Ctrl+K H
  +
|Toggle selection
|Changes a word to lowercase
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl+K+N
+
|Ctrl+K I
  +
|Indent the current selected block or current line in case of no selection (Ctrl+K U unindents)
|Changes a word to uppercase
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+O+U
+
|Ctrl+K K
  +
|Sets end of selection (Ctrl+K B sets the start)
|Toggles case
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+O
+
|Ctrl+K N
  +
|Changes a word to uppercase
|Toggles Code folding between On and Off
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+A
+
|Ctrl+K O
  +
|Changes a word to lowercase
|Code folding: Expands All blocks of code
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+E
+
|Ctrl+K P
  +
|Invokes print selection dialog
|Code folding: Collapse current block of code
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+U
+
|Ctrl+K R
  +
|Invokes Read block from file (inserts text at cursor)
|Code folding: Expand current block of code
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+T
+
|Ctrl+K T
  +
|Select word at cursor position
|Code folding: Toggle Current block (expand & collapse)
 
  +
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+R
+
|Ctrl+K U
  +
|Unindent the current selected block or current line in case of no selection (Ctrl+K I indents)
|Code folding: Collapses all regions {$region 'comment'}..{$endregion}
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+P
+
|Ctrl+K W
  +
|Invokes Write block to file (selected text)
|Code folding: Collapse nested procedures
 
  +
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+M
+
|Ctrl+L
  +
|Find again
|Code folding: Collapse all methods
 
  +
|
 
|-
 
|-
|Ctrl+Shift+K+C
+
|Ctrl+M
  +
|Insert new line (same as Enter)
|Code folding: Collapse all classes
 
  +
|
 
|-
 
|-
|Ctrl+Shift+K+G
+
|Ctrl+N
  +
|Insert new line after cursor (cursor stays in current line)
|Code folding: Collapses down to primary Groups [Interface/Implementation]
 
  +
|
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl+Shift+K+N
+
|Ctrl+O+A
  +
|Open file at cursor
|Code folding: Collapses Namespace/Unit
 
  +
|
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl+Tab
+
|Ctrl+O+B
  +
|Browse symbol at cursor
|Switch to the next open file in the editor
 
  +
|
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl+Shift+Tab
+
|Ctrl+O+C
  +
|Turns on block selection mode
|Switch to the previous open file in the editor
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + P
+
|Ctrl+O+G
  +
|Goto line number in editor
|Invokes print selection dialog
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + W
+
|Ctrl+O+K
  +
|Turns off block selection mode
|Invokes Write block to file(selected text)
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + R
+
|Ctrl+O+L
  +
|Selects current line (and turns off block selection mode)
|Invokes Read block from file(inserts text at cursor)
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + C
+
|Ctrl+O+O
  +
|Inserts compiler options and directives
|Copies selected text at the end of the selection
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + K + T
+
|Ctrl+O U
  +
|Toggles case
|Select word at cursor position
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + O + L
+
|Ctrl+Q+A
  +
|Search Replace Dialog
|Selects current line
 
|Delphi 5 and up
 
|-
 
|Ctrl + Q + L
 
|Toggles between limiting the Ctrl+Alt navigation shortcuts to the current class, or limiting it to the current unit
 
|[[Borland Developer Studio 2006]]
 
|-
 
|Ctrl + Q + W
 
|Go to next item of Messages window
 
|Delphi 5 and up
 
|-
 
|Ctrl + F6
 
|Switches between source (.cpp) and header (.h)
 
 
|
 
|
BDS 2006 and up, C++ Builder personality
 
 
|-
 
|-
  +
|Ctrl+Q+B
|
 
  +
|Moves cursor to the beginning of a block
{| border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 170pt;" width="227"
 
|- height="17" style="height: 12.75pt;"
 
| class="xl64" height="17" style="height: 12.75pt; width: 170pt;" width="227"|Alt + Backspace
 
|}
 
|
 
{| border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 204pt;" width="272"
 
|- height="17" style="height: 12.75pt;"
 
| class="xl66" height="17" style="height: 12.75pt; width: 204pt;" width="272"|Edit|Undo
 
|}
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+C
|Alt + F10
 
  +
|Moves cursor to end of a file
|Display Popup menu
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+D
|Alt + Shift + Down Arrow
 
  +
|Moves cursor to the end of a line
|
 
{| border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 709px; height: 38px;"
 
|- height="51" style="height: 38.25pt;"
 
| class="xl66" height="51" style="height: 38.25pt; width: 204pt;" width="272"|Moves the cursor down one line and selects the column from the left of the starting cursor position
 
|}
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+E
|Alt + Shift + End
 
|Selects the column from the cursor position to the end of the current line
+
|Moves cursor to the top of the window
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+F
|Alt + Shift + Home
 
  +
|Search Find Dialog
|Selects the column from the cursor position to the start of the current line
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+K
|Alt + Shift + Left Arrow
 
|Selects the column to the left of the cursor
+
|Moves cursor to the end of a block
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+P
|Alt + Shift + Page Down
 
|Moves the cursor down one line and selects the column from the right of the starting cursor position
+
|Moves cursor to previous position
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+R
|Alt + Shift + Page Up
 
|Moves the cursor up one screen and selects the column from the left of the starting cursor position
+
|Moves cursor to the beginning of a file
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+S
|Alt + Shift + Right Arrow
 
|Selects the column to the right of the cursor
+
|Moves cursor to the beginning of a line
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Q+T
|Alt + Shift + Up Arrow
 
|Moves the cursor up one line and selects the column from the left of the starting cursor position
+
|Moves cursor to the top of the window
 
|
 
|
 
|-
 
|-
|Alt + X
+
|Ctrl+Q+U
  +
|Moves cursor to the bottom of the window
|Cut word under cursor / current selected block
 
 
|
 
|
 
|-
 
|-
|Ctrl + C
+
|Ctrl+Q+X
  +
|Moves cursor to the bottom of the window
|Copy word under Cursor / selected block
 
 
|
 
|
 
|-
 
|-
|Ctrl + A
+
|Ctrl+Q+Y
  +
|Deletes to the end of Line
|select all
 
 
|
 
|
 
|-
 
|-
|Ctrl + Backspace
+
|Ctrl+R
  +
| Replace Dialog
|Delete the word to the beginning
 
 
|
 
|
 
|-
 
|-
|Ctrl + D
+
|Ctrl+S
  +
| File |Save
|Deletes a currently selected block
 
 
|
 
|
 
|-
 
|-
|Ctrl + Down Arrow
+
|Ctrl+V
  +
|Paste
|Scrolls down one line
 
 
|
 
|
 
|-
 
|-
|Ctrl + End
+
|Ctrl+T
|Moves to the end of a file
+
|Delete text from cursor position until end of word
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + F1
+
|Ctrl+Y
  +
|Delete current line
|Help|Topic Search
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + F10
+
|Ctrl+Z
  +
|Undo
|Open Main Menu
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Tab
|Ctrl + Home
 
|Moves to the top of a file
+
|Moves the cursor to the left one tab position
 
|
 
|
 
|-
 
|-
  +
|Shift+Enter
|Ctrl + I
 
|Inserts a tab character
+
|Inserts a new line with a carriage return
 
|
 
|
 
|-
 
|-
  +
|Shift+Del
|Ctrl + INS
 
  +
|Cut to clipboard
|Copy selected Block
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Ins
|Ctrl + L
 
  +
|Paste from clipboard
|find again
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Home
|Ctrl + Left Arrow
 
  +
|Selects from the cursor position to the start of the current line
|Moves one word left
 
 
|
 
|
 
|-
 
|-
  +
|Shift+End
|Ctrl + M
 
  +
|Selects from the cursor position to the end of the current line
|insert new line (same as Enter)
 
 
|
 
|
 
|-
 
|-
  +
|Shift+PgUp
|Ctrl + N
 
  +
|Moves the cursor up one screen and selects from the left of the starting cursor position
|insert new line after cursor (cursor stays in current line)
 
 
|
 
|
 
|-
 
|-
  +
|Shift+PgDn
|Ctrl + O + A
 
  +
|Moves the cursor down one line and selects from the right of the starting cursor position
|Open file at cursor
 
 
|
 
|
 
|-
 
|-
  +
|Shift+LeftArrow
|Ctrl + O + B
 
  +
|Selects the character to the left of the cursor
|Browse symbol at cursor
 
 
|
 
|
 
|-
 
|-
  +
|Shift+RightArrow
|Ctrl + O + O
 
  +
|Selects the character to the right of the cursor
|Inserts compiler options and directives
 
 
|
 
|
 
|-
 
|-
  +
|Shift+UpArrow
|Ctrl + PgDn
 
  +
|Moves the cursor up one line and selects from the left of the starting cursor position
|Moves to the bottom of a screen
 
 
|
 
|
 
|-
 
|-
  +
|Shift+DownArrow
|Ctrl + PgUp
 
  +
|Moves the cursor down one line and selects from the right of the starting cursor position.
|Moves to the top of a screen
 
 
|
 
|
 
|-
 
|-
  +
|Shift+F7
|Ctrl + Q + A
 
  +
|Trace into next source line
|Search Replace Dialog
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Shift+F8
|Ctrl + Q + B
 
  +
|Run until return
|Moves cursor to the beginning of a block
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Shift+F9
|Ctrl + Q + C
 
  +
|Build Project
|Moves cursor to end of a file
 
  +
|Delphi 2005+
|
 
 
|-
 
|-
  +
|Shift+F11
|Ctrl + Q + D
 
  +
|Invoke Add to project window
|Moves cursor to the end of a line
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + E
+
|Ctrl+Shift+G
  +
|Insert a new GUID at the cursor position
|Moves cursor to the top of the window
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + F
+
|Ctrl+Shift+I
  +
|Indent the current selected block
|Search Find Dialog
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Ctrl+Shift+U
|
 
  +
|Unindent the current selected block
Ctrl + Q + K
 
  +
|Delphi 5+
|Moves cursor to the end of a block
 
  +
|Ctrl+Shift+J
|
 
  +
|Invoke SyncEdit
  +
|BDS 2006+
 
|-
 
|-
|Ctrl + Q + P
+
|Ctrl+Shift+V
|Moves cursor to previous position
+
|Automatically declare variable at cursor position
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Q + R
+
|Ctrl+Shift+Y
|Moves cursor to the beginning of a file
+
|Delete to the end of line
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + S
+
|Ctrl+Shift+R
  +
|Start/stop recording editor macro
|Moves cursor to the beginning of a line
 
  +
|Delphi 2+
|
 
 
|-
 
|-
|Ctrl + Q + T
+
|Ctrl+Shift+P
  +
|Play editor macro
|Moves cursor to the top of the window
 
  +
|Delphi 2+
|
 
 
|-
 
|-
|Ctrl + Q + U
+
|Ctrl+Shift+Spacebar
  +
|Invoke code parameter hints
|Moves cursor to the bottom of the window
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + X
+
|Ctrl+Shift+Enter
  +
|Find all references
|Moves cursor to the bottom of the window
 
  +
|Delphi 2005+
|
 
 
|-
 
|-
|Ctrl + Q + Y
+
|Ctrl+Shift+C
  +
|Invoke class completion for the class that currently contains the cursor
|Deletes to the end of Line
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + R
+
|Ctrl+Shift+UpArrow
  +
|Navigate to method implementation/declaration
|Search|Replace
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Right Arrow
+
|Ctrl+Shift+DownArrow
  +
|Navigate to method implementation/declaration
|Moves one word right
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + S
+
|Ctrl+Shift+1..9
  +
|Set a bookmark at current row in the source
|File|Save
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + End
+
|Ctrl+Alt+F12
|Selects from the cursor position to the end of the current file
+
|Opens the drop-down on the top-right corner of the code editor, listing all open files
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + Home
+
|Ctrl+Alt+MouseWheel
  +
|Navigate to previous or next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
|Selects from the cursor position to the start of the current file
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + Left Arrow
+
|Ctrl+Alt+UpArrow
  +
|Navigate to previous method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
|Selects the word to the left of the cursor
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + PgDn
+
|Ctrl+Alt+DownArrow
  +
|Navigate to next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
|Selects from the cursor position to the bottom of the screen
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + PgUp
+
|Ctrl+Alt+Home
  +
|Navigate to the lexically first method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
|Selects from the cursor position to the top of the screen
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + Right Arrow
+
|Ctrl+Alt+End
  +
|Navigate to the lexically last method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L
|Selects the word to the right of the cursor
 
  +
|BDS 2006+
|
 
 
|-
 
|-
|Ctrl + Shift + Z
+
|Ctrl+Alt+P
  +
|Activate the Tool Palette in filtering mode (start typing, press Enter to drop component)
|Edit|Redo
 
  +
|Delphi 2005+
|
 
 
|-
 
|-
|Ctrl + Up Arrow
+
|Ctrl+Alt+A
  +
|Adds current date to source code
|Scrolls up one line
 
  +
|BCB 4.0+ (Delphi 5+)
|
 
 
|-
 
|-
|Ctrl + V
+
|Ctrl+Shift+T
  +
|Add todo list item
|Paste
 
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Alt+F11
  +
|Invoke Project manager window
  +
|Delphi 2005+
  +
|-
  +
|Shift+Alt+F11
  +
|Invoke Structure window
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+B
  +
|Invoke Browser window
  +
|Delphi 5-7
  +
|-
  +
|Ctrl+Shift+B
  +
|Invoke Buffer list
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Alt+B
  +
|Invoke Breakpoint window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+S
  +
|Invoke Call Stack window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+W
  +
|Invoke Watches window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+L
  +
|Invoke Local Variables window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+T
  +
|Invoke Threads window
  +
|Delphi 7+
  +
|-
  +
|Ctrl+Alt+F
  +
|Invoke FPU window
  +
|Delphi 2005 (removed in Delphi 2006+)
  +
|-
  +
|Ctrl+Alt+C
  +
|Invoke CPU window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+V
  +
|Invoke Event window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+M
  +
|Invoke Modules window
  +
|Delphi 2005+
  +
|-
  +
|Shift+F12
  +
|Invoke Forms window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Shift+A
  +
|Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring)
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+F11
  +
|Invoke Project Options window
  +
|Delphi 2005+
  +
|-
  +
|Shift+Ctrl+F9
  +
|Run without debugging
  +
|Delphi 2005+
  +
|-
  +
|Shift+Ctrl+F
  +
|Find in Files
  +
|Delphi 3+
  +
|-
  +
|Ctrl+Shift+K+O
  +
|Toggles Code folding between On and Off
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+A
  +
|Code folding: Expands All blocks of code
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+E
  +
|Code folding: Collapse current block of code
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+U
  +
|Code folding: Expand current block of code
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+T
  +
|Code folding: Toggle Current block (expand & collapse)
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+R
  +
|Code folding: Collapses all regions {$region 'comment'}..{$endregion}
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+P
  +
|Code folding: Collapse nested procedures
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+M
  +
|Code folding: Collapse all methods
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+C
  +
|Code folding: Collapse all classes
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+G
  +
|Code folding: Collapses down to primary Groups [Interface/Implementation]
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+N
  +
|Code folding: Collapses Namespace/Unit
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+Tab
  +
|Switch to the previous open file in the editor
  +
|Delphi 2006+
  +
|-
  +
|Alt+Shift+DownArrow
  +
|Moves the cursor down one line and selects the column from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
  +
|Alt+Shift+End
|Ctrl + Z
 
  +
|Selects the column from the cursor position to the end of the current line
|Undo
 
 
|
 
|
 
|-
 
|-
  +
|Alt+Shift+Home
|F1
 
  +
|Selects the column from the cursor position to the start of the current line
|Display Help
 
 
|
 
|
 
|-
 
|-
  +
|Alt+Shift+LeftArrow
|F3
 
  +
|Selects the column to the left of the cursor
|find again
 
 
|
 
|
 
|-
 
|-
  +
|Alt+Shift+PgDn
|INS
 
  +
|Moves the cursor down one line and selects the column from the right of the starting cursor position
|Insert Mode on / off
 
 
|
 
|
 
|-
 
|-
|Shift + Down Arrow
+
|Alt+Shift+PgUp
|Moves the cursor down one line and selects from the right of the starting cursor position.
+
|Moves the cursor up one screen and selects the column from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
|Shift + End
+
|Alt+Shift+RightArrow
|Selects from the cursor position to the end of the current line
+
|Selects the column to the right of the cursor
 
|
 
|
 
|-
 
|-
|Shift + Enter
+
|Alt+Shift+UpArrow
  +
|Moves the cursor up one line and selects the column from the left of the starting cursor position
|Inserts a new line with a carriage return
 
 
|
 
|
 
|-
 
|-
|Shift + Home
+
|Ctrl+Shift+S
  +
| File |Save All
|Selects from the cursor position to the start of the current line
 
 
|
 
|
 
|-
 
|-
|Shift + INS
+
|Ctrl+Shift+End
  +
|Selects from the cursor position to the end of the current file
|Paste from clipboard
 
 
|
 
|
 
|-
 
|-
|Shift + Left Arrow
+
|Ctrl+Shift+Home
|Selects the character to the left of the cursor
+
|Selects from the cursor position to the start of the current file
 
|
 
|
 
|-
 
|-
|Shift + PgDn
+
|Ctrl+Shift+LeftArrow
|Moves the cursor down one line and selects from the right of the starting cursor position
+
|Selects the word to the left of the cursor
 
|
 
|
 
|-
 
|-
|Shift + PgUp
+
|Ctrl+Shift+PgDn
|Moves the cursor up one screen and selects from the left of the starting cursor position
+
|Selects from the cursor position to the bottom of the screen
 
|
 
|
 
|-
 
|-
|Shift + Right Arrow
+
|Ctrl+Shift+PgUp
|Selects the character to the right of the cursor
+
|Selects from the cursor position to the top of the screen
 
|
 
|
 
|-
 
|-
|Shift + Tab
+
|Ctrl+Shift+RightArrow
|Moves the cursor to the left one tab position
+
|Selects the word to the right of the cursor
 
|
 
|
 
|-
 
|-
|Shift + Up Arrow
+
|Ctrl+Shift+Z
  +
| Edit |Redo
|Moves the cursor up one line and selects from the left of the starting cursor position
 
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + End
+
|Ctrl+Alt+Shift+End
 
|Selects the column from the cursor position to the end of the current file
 
|Selects the column from the cursor position to the end of the current file
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + Home
+
|Ctrl+Alt+Shift+Home
 
|Selects the column from the cursor position to the start of the current file
 
|Selects the column from the cursor position to the start of the current file
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + Left Arrow
+
|Ctrl+Alt+Shift+LeftArrow
 
|Selects the column to the left of the cursor
 
|Selects the column to the left of the cursor
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + Page Down
+
|Ctrl+Alt+Shift+PgDn
 
|Selects the column from the cursor position to the top of the screen
 
|Selects the column from the cursor position to the top of the screen
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + Page Up
+
|Ctrl+Alt+Shift+PgUp
 
|Selects the column from the cursor position to the bottom of the screen
 
|Selects the column from the cursor position to the bottom of the screen
 
|
 
|
 
|-
 
|-
|Ctrl + Alt + Shift + Right Arrow
+
|Ctrl+Alt+Shift+RightArrow
 
|Selects the column to the right of the cursor
 
|Selects the column to the right of the cursor
 
|
 
|
 
|-
 
|-
|AltGr + F12
+
|AltGr+F12
|select editor window tab
+
|Select editor window tab
  +
|
  +
|-
  +
|Ctrl+Alt+Shift+P
  +
|Sync method prototypes
 
|
 
|
 
|}
 
|}
Line 775: Line 816:
   
 
You can add your own shortcuts with a free tool called [[AutoHotKey]], see there for some ideas.
 
You can add your own shortcuts with a free tool called [[AutoHotKey]], see there for some ideas.
  +
  +
Some ancient shortcuts some of which are still working, can be found [http://www.advdelphisys.com/help/ads_keys.html here]
  +
  +
For recent versions, Embarcadero has documented the [http://docwiki.embarcadero.com/RADStudio/Seattle/en/Default_Keyboard_Shortcuts default keyboard shortcuts] in their DocWiki.
 
[[Category:Delphi IDE]]
 
[[Category:Delphi IDE]]
 
[[Category:Tips and Tricks]]
 
[[Category:Tips and Tricks]]

Revision as of 16:57, 14 December 2020

Shortcut Description IDE Version
Shift+Click After selecting control in form designer, click on it with Shift again to select top most parent Form Delphi 5+
Escape Selects parent control in design mode. Left mouse click + Escape drags the parent control Delphi 2+
Ins Insert Mode on / off
Tab In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value Delphi 5+
F1 Display Help
F3 Find again
F4 Run program to current cursor position Delphi 2+
F5 Toggle breakpoint Delphi 2+
F6 or Ctrl+. (Period) IDE Insight at least since Delphi 10.2
F7 Debugger step into Delphi 2+
F8 Debugger step over Delphi 2+
F9 Run program under debugger Delphi 2+
F11 Invoke Object Inspector window Delphi 5+
F12 Toggle between code view and design view Delphi 5+
Alt+Backspace Undo
Alt+RightArrow Browse forward (hotlink history) Delphi 6+
Alt+LeftArrow Browse backward (hotlink history) Delphi 6+
Alt+UpArrow Browse to symbol under editor cursor (invoke a hotlink and add it to the hotlink history) Delphi 7+
Alt+F7/F8 Previous/next result (for Find in Files and Build Error Messages) Delphi 7+
Alt+F10 Display Popup menu
Alt+F11 Invoke Use unit dialog Delphi 5+
Alt+F12 Toggle between Form as text mode or design mode Delphi 5+
Alt+[ Match pair forward Delphi 5+
Alt+] Match pair backward Delphi 5+
Alt+0 Invoke Window list Delphi 2005+
Alt+G Goto line number in editor Delphi 2+
Alt+X Cut word under cursor / current selected block
Ctrl+Backspace Delete the word to the beginning
Ctrl+Spacebar Invoke code completion Delphi 5+
Ctrl+Tab Switch to the next open file in the editor Delphi 2006+
Ctrl+Enter Open file at cursor Delphi 2+
Ctrl+INS Copy selected Block
Ctrl+LeftArrow Moves one word left
Ctrl+RightArrow Moves one word right
Ctrl+UpArrow Scrolls up one line
Ctrl+DownArrow Scrolls down one line
Ctrl+PgDn Moves to the bottom of a screen
Ctrl+PgUp Moves to the top of a screen
Ctrl+Home Moves to the top of a file
Ctrl+End Moves to the end of a file
Ctrl+F1 Topic Search
Ctrl+F2 Program Reset Delphi 5+
Ctrl+F3 Show Call Stack
Ctrl+F4 Close current editor tab
Ctrl+F5 Add Watch Delphi 5+
Ctrl+F6 Switches between source (.cpp) and header (.h)

BDS 2006+ C++ Builder personality

Ctrl+F7 Evaluate/modify Delphi 2005+
Ctrl+F9 Compile Project Delphi 5+
Ctrl+F10 Open Main Menu
Ctrl+F11 Invoke Open Project Dialog Delphi 2005+
Ctrl+F12 View units Delphi 2+
Ctrl+/ Toggle comment per line or selected block and cursors goes down one line, Ctrl+# on nordic (and perhaps other international ) keyboards Delphi 2005+
Ctrl+. (Period) IDE Insight at least since Delphi 10.2
Ctrl+1..9 Go to a bookmark row in the source BDS 2006+
Ctrl+A Select all
Ctrl+B Invoke buffer window when focus is on editor. The buffer window shows a list of all different tabs. Delphi 2007+
Ctrl+C Copy word under Cursor / selected block
Ctrl+D Delete a currently selected block
Ctrl+E Incremental search Delphi 5+
Ctrl+F Find Delphi 3+
Ctrl+G Goes to declaration (same as Ctrl+Click or Alt+UpArrow)
Ctrl+H Replace Dialog
Ctrl+I Inserts a tab character
Ctrl+J Invoke code templates also called code snippets Delphi 5+
Ctrl+K B Sets start of selection (Ctrl+K K sets the end) Delphi 5+
Ctrl+K C Copies selected text at the end of the selection Delphi 5+
Ctrl+K E Changes a word to lowercase and deselects selection Delphi 5+
Ctrl+K F Changes a word to uppercase and deselects selection Delphi 5+
Ctrl+K H Toggle selection
Ctrl+K I Indent the current selected block or current line in case of no selection (Ctrl+K U unindents) Delphi 5+
Ctrl+K K Sets end of selection (Ctrl+K B sets the start) Delphi 5+
Ctrl+K N Changes a word to uppercase Delphi 5+
Ctrl+K O Changes a word to lowercase Delphi 5+
Ctrl+K P Invokes print selection dialog Delphi 5+
Ctrl+K R Invokes Read block from file (inserts text at cursor) Delphi 5+
Ctrl+K T Select word at cursor position Delphi 5+
Ctrl+K U Unindent the current selected block or current line in case of no selection (Ctrl+K I indents) Delphi 5+
Ctrl+K W Invokes Write block to file (selected text) Delphi 5+
Ctrl+L Find again
Ctrl+M Insert new line (same as Enter)
Ctrl+N Insert new line after cursor (cursor stays in current line)
Ctrl+O+A Open file at cursor
Ctrl+O+B Browse symbol at cursor
Ctrl+O+C Turns on block selection mode Delphi 5+
Ctrl+O+G Goto line number in editor Delphi 5+
Ctrl+O+K Turns off block selection mode Delphi 5+
Ctrl+O+L Selects current line (and turns off block selection mode) Delphi 5+
Ctrl+O+O Inserts compiler options and directives
Ctrl+O U Toggles case Delphi 5+
Ctrl+Q+A Search Replace Dialog
Ctrl+Q+B Moves cursor to the beginning of a block
Ctrl+Q+C Moves cursor to end of a file
Ctrl+Q+D Moves cursor to the end of a line
Ctrl+Q+E Moves cursor to the top of the window
Ctrl+Q+F Search Find Dialog
Ctrl+Q+K Moves cursor to the end of a block
Ctrl+Q+P Moves cursor to previous position
Ctrl+Q+R Moves cursor to the beginning of a file
Ctrl+Q+S Moves cursor to the beginning of a line
Ctrl+Q+T Moves cursor to the top of the window
Ctrl+Q+U Moves cursor to the bottom of the window
Ctrl+Q+X Moves cursor to the bottom of the window
Ctrl+Q+Y Deletes to the end of Line
Ctrl+R Replace Dialog
Ctrl+S Save
Ctrl+V Paste
Ctrl+T Delete text from cursor position until end of word Delphi 5+
Ctrl+Y Delete current line Delphi 5+
Ctrl+Z Undo
Shift+Tab Moves the cursor to the left one tab position
Shift+Enter Inserts a new line with a carriage return
Shift+Del Cut to clipboard
Shift+Ins Paste from clipboard
Shift+Home Selects from the cursor position to the start of the current line
Shift+End Selects from the cursor position to the end of the current line
Shift+PgUp Moves the cursor up one screen and selects from the left of the starting cursor position
Shift+PgDn Moves the cursor down one line and selects from the right of the starting cursor position
Shift+LeftArrow Selects the character to the left of the cursor
Shift+RightArrow Selects the character to the right of the cursor
Shift+UpArrow Moves the cursor up one line and selects from the left of the starting cursor position
Shift+DownArrow Moves the cursor down one line and selects from the right of the starting cursor position.
Shift+F7 Trace into next source line Delphi 5+
Shift+F8 Run until return Delphi 5+
Shift+F9 Build Project Delphi 2005+
Shift+F11 Invoke Add to project window Delphi 5+
Ctrl+Shift+G Insert a new GUID at the cursor position Delphi 5+
Ctrl+Shift+I Indent the current selected block Delphi 5+
Ctrl+Shift+U Unindent the current selected block Delphi 5+ Ctrl+Shift+J Invoke SyncEdit BDS 2006+
Ctrl+Shift+V Automatically declare variable at cursor position BDS 2006+
Ctrl+Shift+Y Delete to the end of line Delphi 5+
Ctrl+Shift+R Start/stop recording editor macro Delphi 2+
Ctrl+Shift+P Play editor macro Delphi 2+
Ctrl+Shift+Spacebar Invoke code parameter hints Delphi 5+
Ctrl+Shift+Enter Find all references Delphi 2005+
Ctrl+Shift+C Invoke class completion for the class that currently contains the cursor Delphi 5+
Ctrl+Shift+UpArrow Navigate to method implementation/declaration Delphi 5+
Ctrl+Shift+DownArrow Navigate to method implementation/declaration Delphi 5+
Ctrl+Shift+1..9 Set a bookmark at current row in the source BDS 2006+
Ctrl+Alt+F12 Opens the drop-down on the top-right corner of the code editor, listing all open files BDS 2006+
Ctrl+Alt+MouseWheel Navigate to previous or next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L BDS 2006+
Ctrl+Alt+UpArrow Navigate to previous method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L BDS 2006+
Ctrl+Alt+DownArrow Navigate to next method implementation in lexical order in this source unit, or within the class to which scope has been limited using Ctrl+Q+L BDS 2006+
Ctrl+Alt+Home Navigate to the lexically first method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L BDS 2006+
Ctrl+Alt+End Navigate to the lexically last method implementation in this source unit, or within the class to which scope has been limited using Ctrl+Q+L BDS 2006+
Ctrl+Alt+P Activate the Tool Palette in filtering mode (start typing, press Enter to drop component) Delphi 2005+
Ctrl+Alt+A Adds current date to source code BCB 4.0+ (Delphi 5+)
Ctrl+Shift+T Add todo list item Delphi 2005+
Ctrl+Alt+F11 Invoke Project manager window Delphi 2005+
Shift+Alt+F11 Invoke Structure window Delphi 2005+
Ctrl+Shift+B Invoke Browser window Delphi 5-7
Ctrl+Shift+B Invoke Buffer list Delphi 2005+
Ctrl+Alt+B Invoke Breakpoint window Delphi 5+
Ctrl+Alt+S Invoke Call Stack window Delphi 5+
Ctrl+Alt+W Invoke Watches window Delphi 5+
Ctrl+Alt+L Invoke Local Variables window Delphi 5+
Ctrl+Alt+T Invoke Threads window Delphi 7+
Ctrl+Alt+F Invoke FPU window Delphi 2005 (removed in Delphi 2006+)
Ctrl+Alt+C Invoke CPU window Delphi 5+
Ctrl+Alt+V Invoke Event window Delphi 5+
Ctrl+Alt+M Invoke Modules window Delphi 2005+
Shift+F12 Invoke Forms window Delphi 5+
Ctrl+Shift+A Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring) Delphi 2005+
Ctrl+Shift+F11 Invoke Project Options window Delphi 2005+
Shift+Ctrl+F9 Run without debugging Delphi 2005+
Shift+Ctrl+F Find in Files Delphi 3+
Ctrl+Shift+K+O Toggles Code folding between On and Off Delphi 2006+
Ctrl+Shift+K+A Code folding: Expands All blocks of code Delphi 2006+
Ctrl+Shift+K+E Code folding: Collapse current block of code Delphi 2006+
Ctrl+Shift+K+U Code folding: Expand current block of code Delphi 2006+
Ctrl+Shift+K+T Code folding: Toggle Current block (expand & collapse) Delphi 2006+
Ctrl+Shift+K+R Code folding: Collapses all regions {$region 'comment'}..{$endregion} Delphi 2006+
Ctrl+Shift+K+P Code folding: Collapse nested procedures Delphi 2006+
Ctrl+Shift+K+M Code folding: Collapse all methods Delphi 2006+
Ctrl+Shift+K+C Code folding: Collapse all classes Delphi 2006+
Ctrl+Shift+K+G Code folding: Collapses down to primary Groups [Interface/Implementation] Delphi 2006+
Ctrl+Shift+K+N Code folding: Collapses Namespace/Unit Delphi 2006+
Ctrl+Shift+Tab Switch to the previous open file in the editor Delphi 2006+
Alt+Shift+DownArrow Moves the cursor down one line and selects the column from the left of the starting cursor position
Alt+Shift+End Selects the column from the cursor position to the end of the current line
Alt+Shift+Home Selects the column from the cursor position to the start of the current line
Alt+Shift+LeftArrow Selects the column to the left of the cursor
Alt+Shift+PgDn Moves the cursor down one line and selects the column from the right of the starting cursor position
Alt+Shift+PgUp Moves the cursor up one screen and selects the column from the left of the starting cursor position
Alt+Shift+RightArrow Selects the column to the right of the cursor
Alt+Shift+UpArrow Moves the cursor up one line and selects the column from the left of the starting cursor position
Ctrl+Shift+S Save All
Ctrl+Shift+End Selects from the cursor position to the end of the current file
Ctrl+Shift+Home Selects from the cursor position to the start of the current file
Ctrl+Shift+LeftArrow Selects the word to the left of the cursor
Ctrl+Shift+PgDn Selects from the cursor position to the bottom of the screen
Ctrl+Shift+PgUp Selects from the cursor position to the top of the screen
Ctrl+Shift+RightArrow Selects the word to the right of the cursor
Ctrl+Shift+Z Redo
Ctrl+Alt+Shift+End Selects the column from the cursor position to the end of the current file
Ctrl+Alt+Shift+Home Selects the column from the cursor position to the start of the current file
Ctrl+Alt+Shift+LeftArrow Selects the column to the left of the cursor
Ctrl+Alt+Shift+PgDn Selects the column from the cursor position to the top of the screen
Ctrl+Alt+Shift+PgUp Selects the column from the cursor position to the bottom of the screen
Ctrl+Alt+Shift+RightArrow Selects the column to the right of the cursor
AltGr+F12 Select editor window tab
Ctrl+Alt+Shift+P Sync method prototypes

Please note the IDE shortcuts might work on earlier versions of Delphi. Correct the list if you find shortcuts working in earlier versions.

You can add your own shortcuts with a free tool called AutoHotKey, see there for some ideas.

Some ancient shortcuts some of which are still working, can be found here

For recent versions, Embarcadero has documented the default keyboard shortcuts in their DocWiki.