Delphi Default IDE Shortcut Keys
Shortcut | Description | IDE Version |
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 | Delphi 5 and up |
Tab | In Object Inspector activates incremental search for properties. Press again Tab to move focus to property value | Delphi 5 and up |
Ctrl + J | 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 | 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 | Run program to current cursor position | Delphi 2 and up |
F5 | Toggle breakpoint | Delphi 2 and up |
F7 | Debugger step into | Delphi 2 and up |
Shift – F7 | Trace into next source line | Delphi 5 and up |
F8 | Debugger step over | Delphi 2 and up |
Shift – F8 | Run until return | Delphi 5 and up |
F9 | Run program under debugger | Delphi 2 and up |
Ctrl + F2 | Program Reset | Delphi 5 and up |
Ctrl + F7 | Evaluate/modify | Delphi 2005 and up |
Ctrl + F5 | Add Watch | Delphi 5 and up |
Ctrl + F12 | View units | Delphi 2 and up |
Alt + G | Goto line number in editor | Delphi 2 and up |
Ctrl + O + G | Goto line number in editor | Delphi 5 and up |
Ctrl + Shift + R | Start/stop recording editor macro | Delphi 2 and up |
Ctrl + Shift + P | Play editor macro | Delphi 2 and up |
Ctrl + Spacebar | Invoke code completion | Delphi 5 and up |
Ctrl + Shift + Spacebar | Invoke code parameter hints | Delphi 5 and up |
Ctrl + Enter | Open file at cursor | Delphi 2 and up |
Ctrl + Shift + Enter | Find all references | Delphi 2005 and up |
Ctrl + Shift + C | Invoke class completion for the class that currently contains the cursor | Delphi 5 and up |
Ctrl + Shift + UpArrow | Navigate to method implementation/declaration | Delphi 5 and up |
Ctrl + Shift + DownArrow | Navigate to method implementation/declaration | Delphi 5 and up |
Ctrl + Shift + 1 – 9 | Set a bookmark at current row in the source | Delphi 2006 and up |
Ctrl + 1 – 9 | Go to a bookmark row in the source | Delphi 2006 and up |
Ctrl + Alt + F12 | 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 | 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 | 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 | 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 | 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 | 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 | Activate the Tool Palette in filtering mode (start typing, press Enter to drop component) | Delphi 2005 and up |
Ctrl + Alt + A | Adds current date to source code | since BCB 4.0 |
Ctrl + / | 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 | Add todo list item | Delphi 2005 and up |
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 | Delphi 2005 and up |
Ctrl + Alt + F11 | Invoke Project manager window | Delphi 2005 and up |
F11 | Invoke Object Inspector window | Delphi 5 and up |
F12 | Toggle between code view and design view | Delphi 5 and up |
Alt + 0 | Invoke Window list | Delphi 2005 and up |
Shift + Alt + F11 | Invoke Structure window | Delphi 2005 and up |
Ctrl + Shift + B | Invoke Browser window | Delphi 5 |
Ctrl + Alt + B | Invoke Breakpoint window | Delphi 5 and up |
Ctrl + Alt + S | Invoke Call Stack window | Delphi 5 and up |
Ctrl + Alt + W | Invoke Watches window | Delphi 5 and up |
Ctrl + Alt + L | Invoke Local Variables window | Delphi 5 and up |
Ctrl + Alt + T | Invoke Threads window | Delphi 7 and up |
Ctrl + Alt + F | Invoke FPU window | Delphi 2005(removed from Delphi 2006) |
Ctrl + Alt + C | Invoke CPU window | Delphi 5 and up |
Ctrl + Alt + V | Invoke Event window | Delphi 5 and up |
Ctrl + Alt + M | Invoke Modules window | Delphi 2005 and up |
Shift + F12 | Invoke Forms window | Delphi 5 and up |
Ctrl + Shift + A | Invoke Add to uses clause(Find unit in Delphi 2006) window (Refactoring) | Delphi 2005 and up |
Ctrl + Shift + F11 | Invoke Project Options window | Delphi 2005 and up |
Ctrl + F9 | Compile Project | Delphi 5 and up |
Shift + F9 | Build Project | Delphi 5 and up |
Shift + F11 | Invoke Add to project window | Delphi 5 and up |
Shift + Ctrl + F9 | Run without debugging | Delphi 2005 and up |
Ctrl + F | Find | Delphi 3 and up |
Shift + Ctrl + F | Find in Files | Delphi 3 and up |
Alt + F7/F8 | 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 | Delphi 5 and up |
Ctrl+K+F | Changes a word to uppercase and deselects selection | Delphi 5 and up |
Ctrl+K+O | Changes a word to lowercase | Delphi 5 and up |
Ctrl+K+N | Changes a word to uppercase | Delphi 5 and up |
Ctrl+O+U | Toggles case | Delphi 5 and up |
Ctrl+Shift+K+O | Toggles Code folding between On and Off | Delphi 2006 and up |
Ctrl+Shift+K+A | Code folding: Expands All blocks of code | Delphi 2006 and up |
Ctrl+Shift+K+E | Code folding: Collapse current block of code | Delphi 2006 and up |
Ctrl+Shift+K+U | Code folding: Expand current block of code | Delphi 2006 and up |
Ctrl+Shift+K+T | Code folding: Toggle Current block (expand & collapse) | |
Ctrl+Shift+K+R | Code folding: Collapses all regions {$region ‘comment’}..{$endregion} | Delphi 2006 and up |
Ctrl+Shift+K+P | Code folding: Collapse nested procedures | |
Ctrl+Shift+K+M | Code folding: Collapse all methods | |
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 | Invokes print selection dialog | Delphi 5 and up |
Ctrl + K + W | Invokes Write block to file(selected text) | Delphi 5 and up |
Ctrl + K + R | 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 | Delphi 5 and up |
Ctrl + O + L | 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 |
Alt + Backspace | ||
Edit|Undo | ||
Alt + F10 | Display Popup menu | |
Alt + Shift + Down Arrow | 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 + Left Arrow | Selects the column to the left of the cursor | |
Alt + Shift + Page Down | Moves the cursor down one line and selects the column from the right of the starting cursor position | |
Alt + Shift + Page Up | Moves the cursor up one screen and selects the column from the left of the starting cursor position | |
Alt + Shift + Right Arrow | Selects the column to the right of the cursor | |
Alt + Shift + Up Arrow | Moves the cursor up one line and selects the column from the left of the starting cursor position | |
Alt + X | Cut word under cursor / current selected block | |
Ctrl + C | Copy word under Cursor / selected block | |
Ctrl + A | select all | |
Ctrl + Backspace | Delete the word to the beginning | |
Ctrl + D | Deletes a currently selected block | |
Ctrl + Down Arrow | Scrolls down one line | |
Ctrl + End | Moves to the end of a file | |
Ctrl + F1 | Topic Search | |
Ctrl + F10 | Open Main Menu | |
Ctrl + Home | Moves to the top of a file | |
Ctrl + I | Inserts a tab character | |
Ctrl + INS | Copy selected Block | |
Ctrl + L | find again | |
Ctrl + Left Arrow | Moves one word left | |
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 + O | Inserts compiler options and directives | |
Ctrl + PgDn | Moves to the bottom of a screen | |
Ctrl + PgUp | Moves to the top of a screen | |
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 | ||
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 | |
Ctrl + Right Arrow | Moves one word right | |
Ctrl + S | Save | |
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 + Left Arrow | 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 + Right Arrow | Selects the word to the right of the cursor | |
Ctrl + Shift + Z | Redo | |
Ctrl + Up Arrow | Scrolls up one line | |
Ctrl + V | Paste | |
Ctrl + Z | Undo | |
F1 | Display Help | |
F3 | find again | |
INS | Insert Mode on / off | |
Shift + Down Arrow | Moves the cursor down one line and selects from the right of the starting cursor position. | |
Shift + End | Selects from the cursor position to the end of the current line | |
Shift + Enter | Inserts a new line with a carriage return | |
Shift + Home | Selects from the cursor position to the start of the current line | |
Shift + INS | Paste from clipboard | |
Shift + Left Arrow | Selects the character to the left of the cursor | |
Shift + PgDn | Moves the cursor down one line and selects from the right of the starting cursor position | |
Shift + PgUp | Moves the cursor up one screen and selects from the left of the starting cursor position | |
Shift + Right Arrow | Selects the character to the right of the cursor | |
Shift + Tab | Moves the cursor to the left one tab position | |
Shift + Up Arrow | Moves the cursor up one line and selects from the left of the starting cursor position | |
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 + Left Arrow | Selects the column to the left of the cursor | |
Ctrl + Alt + Shift + Page Down | Selects the column from the cursor position to the top of the screen | |
Ctrl + Alt + Shift + Page Up | Selects the column from the cursor position to the bottom of the screen | |
Ctrl + Alt + Shift + Right Arrow | Selects the column to the right of the cursor | |
AltGr + F12 | select editor window tab | |
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. |