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.

Community content is available under CC-BY-SA unless otherwise noted.