Delphi Programming
(added link for a bit more comprehensive shortcuts list. Have no time to transfer content from there. Will be thankful if someone will transfer it here.)
Tag: Visual edit
(Add a couple of long-existing shortcuts)
Tag: Source edit
 
(21 intermediate revisions by 10 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
|Escape
 
|Selects parent control in design mode. Left mouse click + Escape drags the parent control
 
|Delphi 2 and up
 
|-
 
|Shift + Click
 
 
|After selecting control in form designer, click on it with Shift again to select top most parent Form
 
|After selecting control in form designer, click on it with Shift again to select top most parent Form
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Tab
+
|F1
  +
|Display Help
|In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|F3
|Ctrl + J
 
  +
|Find again
|Invoke code templates also called code snippets
 
  +
|
|Delphi 5 and up
 
|-
 
|Ctrl + T
 
|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+
 
|-
 
|-
  +
|Ins
|Ctrl + F5
 
  +
|Insert Mode on / off
|Add Watch
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Escape
|Ctrl + F12
 
  +
|Selects parent control in design mode. Left mouse click + Escape drags the parent control
|View units
 
|Delphi 2 and up
+
|Delphi 2+
 
|-
 
|-
  +
|Tab
|Alt + G
 
  +
|In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value
|Goto line number in editor
 
|Delphi 2 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+F7/F8
|Ctrl + O + G
 
  +
|Previous/next result (for Find in Files and Build Error Messages)
|Goto line number in editor
 
|Delphi 5 and up
+
|Delphi 7+
 
|-
 
|-
  +
|Alt+F10
|Ctrl + Shift + R
 
  +
|Display Popup menu
|Start/stop recording editor macro
 
  +
|
|Delphi 2 and up
 
 
|-
 
|-
  +
|Alt+F11
|Ctrl + Shift + P
 
  +
|Invoke Use unit dialog
|Play editor macro
 
|Delphi 2 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+F12
|Ctrl + Spacebar
 
  +
|Toggle between Form as text mode or design mode
|Invoke code completion
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+RightArrow
|Ctrl + Shift + Spacebar
 
  +
|Browse forward (hotlink history)
|Invoke code parameter hints
 
|Delphi 5 and up
+
|Delphi 6+
 
|-
 
|-
  +
|Alt+LeftArrow
|Ctrl + Enter
 
  +
|Browse backward (hotlink history)
|Open file at cursor
 
|Delphi 2 and up
+
|Delphi 6+
 
|-
 
|-
  +
|Alt+UpArrow
|Ctrl + Shift + Enter
 
  +
|Browse to symbol under editor cursor (invoke a hotlink and add it to the hotlink history)
|Find all references
 
|Delphi 2005 and up
+
|Delphi 7+
 
|-
 
|-
  +
|Alt+Backspace
|Ctrl + Shift + C
 
  +
| Edit |Undo
|Invoke class completion for the class that currently contains the cursor
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Alt+[
|Ctrl + Shift + UpArrow
 
  +
|Match pair forward
|Navigate to method implementation/declaration
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+]
|Ctrl + Shift + DownArrow
 
  +
|Match pair backward
|Navigate to method implementation/declaration
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
  +
|Alt+0
|Ctrl + Shift + 1 - 9
 
  +
|Invoke Window list
|Set a bookmark at current row in the source
 
|Delphi 2006 and up
+
|Delphi 2005+
 
|-
 
|-
  +
|Alt+G
|Ctrl + 1 - 9
 
  +
|Goto line number in editor
|Go to a bookmark row in the source
 
|Delphi 2006 and up
+
|Delphi 2+
 
|-
 
|-
|Ctrl + Alt + F12
+
|Alt+X
  +
|Cut word under cursor / current selected block
|Opens the drop-down on the top-right corner of the code editor, listing all open files
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + Mouse Wheel
+
|Ctrl+F1
  +
| Help |Topic Search
|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
 
  +
|
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + UpArrow
+
|Ctrl+F2
  +
|Program Reset
|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
 
  +
|Delphi 5+
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + DownArrow
+
|Ctrl+F3
  +
|Show Call Stack
|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+F4
  +
|Close current editor tab
|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+F5
  +
|Add Watch
|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
 
  +
|Delphi 5+
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Alt + P
+
|Ctrl+F6
  +
|Switches between source (.cpp) and header (.h)
|Activate the Tool Palette in filtering mode (start typing, press Enter to drop component)
 
  +
|BDS 2006+ C++ Builder personality
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + Alt + A
+
|Ctrl+F7
  +
|Evaluate/modify
|Adds current date to source code
 
  +
|Delphi 2005+
|since BCB 4.0
 
 
|-
 
|-
|Ctrl + /
+
|Ctrl+F9
  +
|Compile Project
|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
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Shift + T
+
|Ctrl+F10
  +
|Open Main Menu
|Add todo list item
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
  +
|Ctrl+F11
|Alt + F12
 
|Toggle between Form as text mode or design mode
 
|Delphi 5 and up
 
|-
 
|Alt + F11
 
|Invoke Use unit dialog
 
|Delphi 5 and up
 
|-
 
|Ctrl + F11
 
 
|Invoke Open Project Dialog
 
|Invoke Open Project Dialog
|Delphi 2005 and up
+
|Delphi 2005+
 
|-
 
|-
|Ctrl + Alt + F11
+
|Ctrl+F12
  +
|View units
|Invoke Project manager window
 
|Delphi 2005 and up
+
|Delphi 2+
 
|-
 
|-
  +
|Ctrl+Ins
|F11
 
  +
|Copy selected Block
|Invoke Object Inspector window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+LeftArrow
|F12
 
  +
|Moves one word left
|Toggle between code view and design view
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+RightArrow
|Alt + 0
 
  +
|Moves one word right
|Invoke Window list
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
  +
|Ctrl+UpArrow
|Shift + Alt + F11
 
  +
|Scrolls up one line
|Invoke Structure window
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + Shift + B
+
|Ctrl+DownArrow
  +
|Scrolls down one line
|Invoke Browser window
 
  +
|
|Delphi 5
 
 
|-
 
|-
|Ctrl + Alt + B
+
|Ctrl+PgDn
  +
|Moves to the bottom of a screen
|Invoke Breakpoint window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + S
+
|Ctrl+PgUp
  +
|Moves to the top of a screen
|Invoke Call Stack window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + W
+
|Ctrl+Home
  +
|Moves to the top of a file
|Invoke Watches window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + L
+
|Ctrl+End
  +
|Moves to the end of a file
|Invoke Local Variables window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Alt + T
+
|Ctrl+Backspace
  +
|Delete the word to the beginning
|Invoke Threads window
 
  +
|
|Delphi 7 and up
 
 
|-
 
|-
|Ctrl + Alt + F
+
|Ctrl+Spacebar
|Invoke FPU window
+
|Invoke code completion
|Delphi 2005(removed from Delphi 2006)
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Alt + C
+
|Ctrl+Tab
  +
|Switch to the next open file in the editor
|Invoke CPU window
 
|Delphi 5 and up
+
|Delphi 2006+
 
|-
 
|-
|Ctrl + Alt + V
+
|Ctrl+Enter
  +
|Open file at cursor
|Invoke Event window
 
|Delphi 5 and up
+
|Delphi 2+
 
|-
 
|-
|Ctrl + Alt + M
+
|Ctrl+/
  +
|Toggle comment per line or selected block and cursors goes down one line, Ctrl+# on nordic (and perhaps other international ) keyboards
|Invoke Modules window
 
|Delphi 2005 and up
+
|Delphi 2005+
 
|-
 
|-
  +
|Ctrl+. (Period)
|Shift + F12
 
  +
|IDE Insight
|Invoke Forms window
 
  +
|at least since Delphi 10.2
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl + Shift + A
+
|Ctrl+1..9
  +
|Go to a bookmark row in the source
|Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring)
 
  +
|BDS 2006+
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + Shift + F11
+
|Ctrl+A
  +
|Select all
|Invoke Project Options window
 
  +
|
|Delphi 2005 and up
 
 
|-
 
|-
|Ctrl + F9
+
|Ctrl+B
  +
|Invoke buffer window when focus is on editor. The buffer window shows a list of all different tabs.
|Compile Project
 
|Delphi 5 and up
+
|Delphi 2007+
 
|-
 
|-
  +
|Ctrl+C
|Shift + F9
 
  +
|Copy word under Cursor / selected block
|Build Project
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
  +
|Ctrl+D
|Shift + F11
 
  +
|Delete a currently selected block
|Invoke Add to project window
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Shift + Ctrl + F9
+
|Ctrl+E
  +
|[http://bdntv.borland.com/pix/nickhodges/Camtasia/IncrementalSearch/IncrementalSearch.html Incremental search]
|Run without debugging
 
|Delphi 2005 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + F
+
|Ctrl+F
 
|Find
 
|Find
|Delphi 3 and up
+
|Delphi 3+
 
|-
 
|-
|Shift + Ctrl + F
+
|Ctrl+G
  +
|Goes to declaration (same as Ctrl+Click or Alt+UpArrow)
|Find in Files
 
  +
|
|Delphi 3 and up
 
 
|-
 
|-
  +
|Ctrl+H
|Alt + F7/F8
 
  +
| Replace Dialog
|Previous/next result (for Find in Files and Build Error Messages)
 
  +
|
|Delphi 7 and up
 
 
|-
 
|-
|Ctrl+K+E
+
|Ctrl+I
  +
|Inserts a tab character
|Changes a word to lowercase and deselects selection
 
  +
|
|Delphi 5 and up
 
 
|-
 
|-
|Ctrl+K+F
+
|Ctrl+J
  +
|Invoke code templates also called code snippets
|Changes a word to uppercase and deselects selection
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+K+O
+
|Ctrl+K+0..9
  +
|Set a bookmark at current row in the source
|Changes a word to lowercase
 
|Delphi 5 and up
+
|Delphi 1+
 
|-
 
|-
|Ctrl+K+N
+
|Ctrl+K B
  +
|Sets start of selection (Ctrl+K K sets the end)
|Changes a word to uppercase
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+O+U
+
|Ctrl+K C
  +
|Copies selected text at the end of the selection
|Toggles case
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+O
+
|Ctrl+K E
  +
|Changes a word to lowercase and deselects selection
|Toggles Code folding between On and Off
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+A
+
|Ctrl+K F
  +
|Changes a word to uppercase and deselects selection
|Code folding: Expands All blocks of code
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+E
+
|Ctrl+K H
  +
|Toggle selection
|Code folding: Collapse current block of code
 
  +
|
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl+Shift+K+U
+
|Ctrl+K I
  +
|Indent the current selected block or current line in case of no selection (Ctrl+K U unindents)
|Code folding: Expand current block of code
 
|Delphi 2006 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+T
+
|Ctrl+K K
  +
|Sets end of selection (Ctrl+K B sets the start)
|Code folding: Toggle Current block (expand & collapse)
 
  +
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+R
+
|Ctrl+K+L
  +
|Select current line
|Code folding: Collapses all regions {$region 'comment'}..{$endregion}
 
|Delphi 2006 and up
+
|Delphi 1+
 
|-
 
|-
|Ctrl+Shift+K+P
+
|Ctrl+K N
  +
|Changes a word to uppercase
|Code folding: Collapse nested procedures
 
  +
|Delphi 5+
 
|-
 
|-
|Ctrl+Shift+K+M
+
|Ctrl+K O
  +
|Changes a word to lowercase
|Code folding: Collapse all methods
 
  +
|Delphi 5+
|-
 
|Ctrl+Shift+K+C
 
|Code folding: Collapse all classes
 
|-
 
|Ctrl+Shift+K+G
 
|Code folding: Collapses down to primary Groups [Interface/Implementation]
 
|Delphi 2006 and up
 
|-
 
|Ctrl+Shift+K+N
 
|Code folding: Collapses Namespace/Unit
 
|Delphi 2006 and up
 
|-
 
|Ctrl+Tab
 
|Switch to the next open file in the editor
 
|Delphi 2006 and up
 
|-
 
|Ctrl+Shift+Tab
 
|Switch to the previous open file in the editor
 
|Delphi 2006 and up
 
 
|-
 
|-
|Ctrl + K + P
+
|Ctrl+K P
 
|Invokes print selection dialog
 
|Invokes print selection dialog
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + W
+
|Ctrl+K R
|Invokes Write block to file(selected text)
+
|Invokes Read block from file (inserts text at cursor)
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + K + R
+
|Ctrl+K T
|Invokes Read block from file(inserts text at cursor)
 
|Delphi 5 and up
 
|-
 
|Ctrl + K + C
 
|Copies selected text at the end of the selection
 
|Delphi 5 and up
 
|-
 
|Ctrl + K + T
 
 
|Select word at cursor position
 
|Select word at cursor position
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + O + C
+
|Ctrl+K U
  +
|Unindent the current selected block or current line in case of no selection (Ctrl+K I indents)
|Turns on block selection mode
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + O + L
+
|Ctrl+K W
  +
|Invokes Write block to file (selected text)
|Selects current line (and turns off block selection mode)
 
|Delphi 5 and up
+
|Delphi 5+
 
|-
 
|-
|Ctrl + Q + L
+
|Ctrl+K+Y
  +
|Delete current block
|Toggles between limiting the Ctrl+Alt navigation shortcuts to the current class, or limiting it to the current unit
 
  +
|Delphi 1+
|[[Borland Developer Studio 2006]]
 
 
|-
 
|-
|Ctrl + Q + W
+
|Ctrl+L
  +
|Find again
|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+M
|Alt + Backspace
 
  +
|Insert new line (same as Enter)
| Edit |Undo
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+N
|Alt + F10
 
  +
|Insert new line after cursor (cursor stays in current line)
|Display Popup menu
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+O+A
|Alt + Shift + Down Arrow
 
  +
|Open file at cursor
|Moves the cursor down one line and selects the column from the left of the starting cursor position
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+O+B
|Alt + Shift + End
 
  +
|Browse symbol at cursor
|Selects the column from the cursor position to the end of the current line
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+O+C
|Alt + Shift + Home
 
  +
|Turns on block selection mode
|Selects the column from the cursor position to the start of the current line
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Ctrl+O+G
|Alt + Shift + Left Arrow
 
  +
|Goto line number in editor
|Selects the column to the left of the cursor
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Ctrl+O+K
|Alt + Shift + Page Down
 
  +
|Turns off block selection mode
|Moves the cursor down one line and selects the column from the right of the starting cursor position
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Ctrl+O+L
|Alt + Shift + Page Up
 
  +
|Selects current line (and turns off block selection mode)
|Moves the cursor up one screen and selects the column from the left of the starting cursor position
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Ctrl+O+O
|Alt + Shift + Right Arrow
 
  +
|Inserts compiler options and directives
|Selects the column to the right of the cursor
 
 
|
 
|
 
|-
 
|-
  +
|Ctrl+O U
|Alt + Shift + Up Arrow
 
  +
|Toggles case
|Moves the cursor up one line and selects the column from the left of the starting cursor position
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Alt + X
+
|Ctrl+Q+[
  +
|Match pair forward
|Cut word under cursor / current selected block
 
  +
|Delphi 1+
|
 
 
|-
 
|-
|Ctrl + C
+
|Ctrl+Q+]
  +
|Match pair backward
|Copy word under Cursor / selected block
 
  +
|Delphi 1+
|
 
 
|-
 
|-
|Ctrl + A
+
|Ctrl+Q+0..9
  +
|Go to a bookmark row in the source
|Select all
 
  +
|Delphi 1+
|
 
 
|-
 
|-
|Ctrl + Backspace
+
|Ctrl+Q+A
  +
|Search Replace Dialog
|Delete the word to the beginning
 
 
|
 
|
 
|-
 
|-
|Ctrl + D
+
|Ctrl+Q+B
  +
|Moves cursor to the beginning of a block
|Deletes a currently selected block
 
 
|
 
|
 
|-
 
|-
|Ctrl + Down Arrow
+
|Ctrl+Q+C
  +
|Moves cursor to end of a file
|Scrolls down one line
 
 
|
 
|
 
|-
 
|-
|Ctrl + End
+
|Ctrl+Q+D
|Moves to the end of a file
+
|Moves cursor to the end of a line
 
|
 
|
 
|-
 
|-
|Ctrl + F1
+
|Ctrl+Q+E
  +
|Moves cursor to the top of the window
| Help |Topic Search
 
 
|
 
|
 
|-
 
|-
|Ctrl + F10
+
|Ctrl+Q+F
  +
|Search Find Dialog
|Open Main Menu
 
 
|
 
|
 
|-
 
|-
|Ctrl + Home
+
|Ctrl+Q+K
|Moves to the top of a file
+
|Moves cursor to the end of a block
 
|
 
|
 
|-
 
|-
|Ctrl + I
+
|Ctrl+Q+P
  +
|Moves cursor to previous position
|Inserts a tab character
 
 
|
 
|
 
|-
 
|-
|Ctrl + INS
+
|Ctrl+Q+R
  +
|Moves cursor to the beginning of a file
|Copy selected Block
 
 
|
 
|
 
|-
 
|-
|Ctrl + L
+
|Ctrl+Q+S
  +
|Moves cursor to the beginning of a line
|Find again
 
 
|
 
|
 
|-
 
|-
|Ctrl + Left Arrow
+
|Ctrl+Q+T
|Moves one word left
+
|Moves cursor to the top of the window
 
|
 
|
 
|-
 
|-
|Ctrl + M
+
|Ctrl+Q+U
  +
|Moves cursor to the bottom of the window
|Insert new line (same as Enter)
 
 
|
 
|
 
|-
 
|-
|Ctrl + N
+
|Ctrl+Q+X
  +
|Moves cursor to the bottom of the window
|Insert new line after cursor (cursor stays in current line)
 
 
|
 
|
 
|-
 
|-
|Ctrl + O + A
+
|Ctrl+Q+Y
  +
|Deletes to the end of Line
|Open file at cursor
 
 
|
 
|
 
|-
 
|-
|Ctrl + O + B
+
|Ctrl+R
  +
| Replace Dialog
|Browse symbol at cursor
 
 
|
 
|
 
|-
 
|-
|Ctrl + O + O
+
|Ctrl+S
  +
| File |Save
|Inserts compiler options and directives
 
 
|
 
|
 
|-
 
|-
|Ctrl + PgDn
+
|Ctrl+V
  +
|Paste
|Moves to the bottom of a screen
 
 
|
 
|
 
|-
 
|-
|Ctrl + PgUp
+
|Ctrl+T
  +
|Delete text from cursor position until end of word
|Moves to the top of a screen
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + A
+
|Ctrl+X
  +
|Cut
|Search Replace Dialog
 
 
|
 
|
 
|-
 
|-
|Ctrl + Q + B
+
|Ctrl+Y
  +
|Delete current line
|Moves cursor to the beginning of a block
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Q + C
+
|Ctrl+Z
  +
|Undo
|Moves cursor to end of a file
 
 
|
 
|
 
|-
 
|-
  +
|Shift+F7
|Ctrl + Q + D
 
|Moves cursor to the end of a line
+
|Trace into next source line
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Shift+F8
|Ctrl + Q + E
 
  +
|Run until return
|Moves cursor to the top of the window
 
  +
|Delphi 5+
|
 
 
|-
 
|-
  +
|Shift+F9
|Ctrl + Q + F
 
  +
|Build Project
|Search Find Dialog
 
  +
|Delphi 2005+
  +
|-
  +
|Shift+F11
  +
|Invoke Add to project window
  +
|Delphi 5+
  +
|-
  +
|Shift+Tab
  +
|Moves the cursor to the left one tab position
 
|
 
|
 
|-
 
|-
  +
|Shift+Enter
|Ctrl + Q + K
 
  +
|Inserts a new line with a carriage return
|Moves cursor to the end of a block
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Del
|Ctrl + Q + P
 
  +
|Cut to clipboard
|Moves cursor to previous position
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Ins
|Ctrl + Q + R
 
  +
|Paste from clipboard
|Moves cursor to the beginning of a file
 
 
|
 
|
 
|-
 
|-
  +
|Shift+Home
|Ctrl + Q + S
 
|Moves cursor to the beginning of a line
+
|Selects from the cursor position to the start of the current line
 
|
 
|
 
|-
 
|-
  +
|Shift+End
|Ctrl + Q + T
 
|Moves cursor to the top of the window
+
|Selects from the cursor position to the end of the current line
 
|
 
|
 
|-
 
|-
  +
|Shift+PgUp
|Ctrl + Q + U
 
|Moves cursor to the bottom of the window
+
|Moves the cursor up one screen and selects from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
  +
|Shift+PgDn
|Ctrl + Q + X
 
|Moves cursor to the bottom of the window
+
|Moves the cursor down one line and selects from the right of the starting cursor position
 
|
 
|
 
|-
 
|-
  +
|Shift+LeftArrow
|Ctrl + Q + Y
 
|Deletes to the end of Line
+
|Selects the character to the left of the cursor
 
|
 
|
 
|-
 
|-
  +
|Shift+RightArrow
|Ctrl + R
 
  +
|Selects the character to the right of the cursor
| Replace Dialog
 
 
|
 
|
 
|-
 
|-
  +
|Shift+UpArrow
|Ctrl + Right Arrow
 
  +
|Moves the cursor up one line and selects from the left of the starting cursor position
|Moves one word right
 
 
|
 
|
 
|-
 
|-
  +
|Shift+DownArrow
|Ctrl + S
 
  +
|Moves the cursor down one line and selects from the right of the starting cursor position.
| File |Save
 
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + S
+
|Ctrl+Shift+F4
  +
|Close all other editor tabs
| File |Save All
 
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + End
+
|Ctrl+Shift+F9
  +
|Run without debugging
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+F11
  +
|Invoke Project Options window
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+End
 
|Selects from the cursor position to the end of the current file
 
|Selects from the cursor position to the end of the current file
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + Home
+
|Ctrl+Shift+Home
 
|Selects from the cursor position to the start of the current file
 
|Selects from the cursor position to the start of the current file
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + Left Arrow
+
|Ctrl+Shift+LeftArrow
 
|Selects the word to the left of the cursor
 
|Selects the word to the left of the cursor
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + PgDn
+
|Ctrl+Shift+PgDn
 
|Selects from the cursor position to the bottom of the screen
 
|Selects from the cursor position to the bottom of the screen
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + PgUp
+
|Ctrl+Shift+PgUp
 
|Selects from the cursor position to the top of the screen
 
|Selects from the cursor position to the top of the screen
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + Right Arrow
+
|Ctrl+Shift+RightArrow
 
|Selects the word to the right of the cursor
 
|Selects the word to the right of the cursor
 
|
 
|
 
|-
 
|-
|Ctrl + Shift + Z
+
|Ctrl+Shift+UpArrow
  +
|Navigate to method implementation/declaration
| Edit |Redo
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Up Arrow
+
|Ctrl+Shift+DownArrow
  +
|Navigate to method implementation/declaration
|Scrolls up one line
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + V
+
|Ctrl+Shift+Spacebar
  +
|Invoke code parameter hints
|Paste
 
  +
|Delphi 5+
|
 
 
|-
 
|-
|Ctrl + Z
+
|Ctrl+Shift+Enter
  +
|Find all references
|Undo
 
  +
|Delphi 2005+
|
 
 
|-
 
|-
  +
|Ctrl+Shift+Tab
|F1
 
  +
|Switch to the previous open file in the editor
|Display Help
 
  +
|Delphi 2006+
|
 
 
|-
 
|-
  +
|Ctrl+Shift+1..9
|F3
 
  +
|Set a bookmark at current row in the source
|Find again
 
  +
|BDS 2006+
|
 
 
|-
 
|-
  +
|Ctrl+Shift+A
|Ins
 
  +
|Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring)
|Insert Mode on / off
 
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+B
  +
|Invoke Browser window
  +
|Delphi 5-7
  +
|-
  +
|Ctrl+Shift+B
  +
|Invoke Buffer list
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+C
  +
|Invoke class completion for the class that currently contains the cursor
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Shift+F
  +
|Find in Files
  +
|Delphi 3+
  +
|-
  +
|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+J
  +
|Invoke SyncEdit
  +
|BDS 2006+
  +
|-
  +
|Ctrl+Shift+K+A
  +
|Code folding: Expands All blocks of code
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+C
  +
|Code folding: Collapse all classes
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+E
  +
|Code folding: Collapse current block of code
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+G
  +
|Code folding: Collapses down to primary Groups [Interface/Implementation]
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+M
  +
|Code folding: Collapse all methods
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+N
  +
|Code folding: Collapses Namespace/Unit
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+O
  +
|Toggles Code folding between On and Off
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+P
  +
|Code folding: Collapse nested procedures
  +
|Delphi 2006+
  +
|-
  +
|Ctrl+Shift+K+R
  +
|Code folding: Collapses all regions {$region 'comment'}..{$endregion}
  +
|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+P
  +
|Play editor macro
  +
|Delphi 2+
  +
|-
  +
|Ctrl+Shift+R
  +
|Start/stop recording editor macro
  +
|Delphi 2+
  +
|-
  +
|Ctrl+Shift+S
  +
| File |Save All
 
|
 
|
 
|-
 
|-
|Shift + Down Arrow
+
|Ctrl+Shift+T
  +
|Add todo list item
|Moves the cursor down one line and selects from the right of the starting cursor position.
 
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Shift+U
  +
|Unindent the current selected block
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Shift+V
  +
|Automatically declare variable at cursor position
  +
|BDS 2006+
  +
|-
  +
|Ctrl+Shift+Y
  +
|Delete to the end of line
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Shift+Z
  +
| Edit |Redo
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Alt+MouseWheel
|Shift + End
 
  +
|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 end of the current line
 
  +
|BDS 2006+
  +
|-
  +
|Ctrl+Alt+F11
  +
|Invoke Project manager window
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Alt+F12
  +
|Select editor window tab
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Alt+F12
|Shift + Enter
 
  +
|Opens the drop-down on the top-right corner of the code editor, listing all open files
|Inserts a new line with a carriage return
 
  +
|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+A
  +
|Adds current date to source code
  +
|BCB 4.0+ (Delphi 5+)
  +
|-
  +
|Ctrl+Alt+B
  +
|Invoke Breakpoint window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+C
  +
|Invoke CPU window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+F
  +
|Invoke FPU window
  +
|Delphi 2005 (removed in Delphi 2006+)
  +
|-
  +
|Ctrl+Alt+L
  +
|Invoke Local Variables window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+M
  +
|Invoke Modules window
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Alt+P
  +
|Activate the Tool Palette in filtering mode (start typing, press Enter to drop component)
  +
|Delphi 2005+
  +
|-
  +
|Ctrl+Alt+S
  +
|Invoke Call Stack window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+T
  +
|Invoke Threads window
  +
|Delphi 7+
  +
|-
  +
|Ctrl+Alt+V
  +
|Invoke Event window
  +
|Delphi 5+
  +
|-
  +
|Ctrl+Alt+W
  +
|Invoke Watches window
  +
|Delphi 5+
  +
|-
  +
|Alt+Shift+F11
  +
|Invoke Structure window
  +
|Delphi 2005+
  +
|-
  +
|Alt+Shift+DownArrow
  +
|Moves the cursor down one line and selects the column from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
|Shift + Home
+
|Alt+Shift+End
|Selects from the cursor position to the start of the current line
+
|Selects the column from the cursor position to the end of the current line
 
|
 
|
 
|-
 
|-
|Shift + Ins
+
|Alt+Shift+Home
  +
|Selects the column from the cursor position to the start of the current line
|Paste from clipboard
 
 
|
 
|
 
|-
 
|-
|Shift + Left Arrow
+
|Alt+Shift+LeftArrow
|Selects the character to the left of the cursor
+
|Selects the column to the left of the cursor
 
|
 
|
 
|-
 
|-
|Shift + PgDn
+
|Alt+Shift+PgDn
|Moves the cursor down one line and selects from the right of the starting cursor position
+
|Moves the cursor down one line and selects the column from the right of the starting cursor position
 
|
 
|
 
|-
 
|-
|Shift + PgUp
+
|Alt+Shift+PgUp
|Moves the cursor up one screen and selects from the left of the starting cursor position
+
|Moves the cursor up one screen and selects the column from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
|Shift + Right Arrow
+
|Alt+Shift+RightArrow
|Selects the character to the right of the cursor
+
|Selects the column to the right of the cursor
 
|
 
|
 
|-
 
|-
|Shift + Tab
+
|Alt+Shift+UpArrow
|Moves the cursor to the left one tab position
+
|Moves the cursor up one line and selects the column from the left of the starting cursor position
 
|
 
|
 
|-
 
|-
|Shift + Up Arrow
+
|Alt+Shift+Backspace
  +
| 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
 
|
 
|
 
|-
 
|-
  +
|Ctrl+Alt+Shift+P
|AltGr + F12
 
  +
|Sync method prototypes
|Select editor window tab
 
|
 
|-
 
|F6 or Ctrl + . (Period)
 
|IDE Insight
 
 
|
 
|
 
|}
 
|}
Line 774: Line 849:
 
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 of ancient shortcuts, such as Ctrl+K+K (marks start of a [persistent] block), which are still working, can be found [http://www.advdelphisys.com/help/ads_keys.html here][[Category:Delphi IDE]][[Category:Tips and Tricks]]
+
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:Tips and Tricks]]

Latest revision as of 09:04, 6 May 2021

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+
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+
Ins Insert Mode on / off
Escape Selects parent control in design mode. Left mouse click + Escape drags the parent control Delphi 2+
Tab In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value Delphi 5+
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+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+Backspace Undo
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+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+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+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+/ 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+0..9 Set a bookmark at current row in the source Delphi 1+
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+L Select current line Delphi 1+
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+K+Y Delete current block Delphi 1+
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+[ Match pair forward Delphi 1+
Ctrl+Q+] Match pair backward Delphi 1+
Ctrl+Q+0..9 Go to a bookmark row in the source Delphi 1+
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+X Cut
Ctrl+Y Delete current line Delphi 5+
Ctrl+Z Undo
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+
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.
Ctrl+Shift+F4 Close all other editor tabs
Ctrl+Shift+F9 Run without debugging Delphi 2005+
Ctrl+Shift+F11 Invoke Project Options window Delphi 2005+
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+UpArrow Navigate to method implementation/declaration Delphi 5+
Ctrl+Shift+DownArrow Navigate to method implementation/declaration Delphi 5+
Ctrl+Shift+Spacebar Invoke code parameter hints Delphi 5+
Ctrl+Shift+Enter Find all references Delphi 2005+
Ctrl+Shift+Tab Switch to the previous open file in the editor Delphi 2006+
Ctrl+Shift+1..9 Set a bookmark at current row in the source BDS 2006+
Ctrl+Shift+A Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring) Delphi 2005+
Ctrl+Shift+B Invoke Browser window Delphi 5-7
Ctrl+Shift+B Invoke Buffer list Delphi 2005+
Ctrl+Shift+C Invoke class completion for the class that currently contains the cursor Delphi 5+
Ctrl+Shift+F Find in Files Delphi 3+
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+J Invoke SyncEdit BDS 2006+
Ctrl+Shift+K+A Code folding: Expands All blocks of code Delphi 2006+
Ctrl+Shift+K+C Code folding: Collapse all classes Delphi 2006+
Ctrl+Shift+K+E Code folding: Collapse current block of code Delphi 2006+
Ctrl+Shift+K+G Code folding: Collapses down to primary Groups [Interface/Implementation] Delphi 2006+
Ctrl+Shift+K+M Code folding: Collapse all methods Delphi 2006+
Ctrl+Shift+K+N Code folding: Collapses Namespace/Unit Delphi 2006+
Ctrl+Shift+K+O Toggles Code folding between On and Off Delphi 2006+
Ctrl+Shift+K+P Code folding: Collapse nested procedures Delphi 2006+
Ctrl+Shift+K+R Code folding: Collapses all regions {$region 'comment'}..{$endregion} 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+P Play editor macro Delphi 2+
Ctrl+Shift+R Start/stop recording editor macro Delphi 2+
Ctrl+Shift+S Save All
Ctrl+Shift+T Add todo list item Delphi 2005+
Ctrl+Shift+U Unindent the current selected block Delphi 5+
Ctrl+Shift+V Automatically declare variable at cursor position BDS 2006+
Ctrl+Shift+Y Delete to the end of line Delphi 5+
Ctrl+Shift+Z Redo
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+F11 Invoke Project manager window Delphi 2005+
Ctrl+Alt+F12 Select editor window tab
Ctrl+Alt+F12 Opens the drop-down on the top-right corner of the code editor, listing all open files 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+A Adds current date to source code BCB 4.0+ (Delphi 5+)
Ctrl+Alt+B Invoke Breakpoint window Delphi 5+
Ctrl+Alt+C Invoke CPU window Delphi 5+
Ctrl+Alt+F Invoke FPU window Delphi 2005 (removed in Delphi 2006+)
Ctrl+Alt+L Invoke Local Variables window Delphi 5+
Ctrl+Alt+M Invoke Modules window Delphi 2005+
Ctrl+Alt+P Activate the Tool Palette in filtering mode (start typing, press Enter to drop component) Delphi 2005+
Ctrl+Alt+S Invoke Call Stack window Delphi 5+
Ctrl+Alt+T Invoke Threads window Delphi 7+
Ctrl+Alt+V Invoke Event window Delphi 5+
Ctrl+Alt+W Invoke Watches window Delphi 5+
Alt+Shift+F11 Invoke Structure window Delphi 2005+
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
Alt+Shift+Backspace 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
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.