Sign in Join
Wiki copytemporary

Lazarus IDE Shortcuts: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Key mappings
22
33All shortcuts can be edited in the [[IDE Window: Editor Options Keymap|Tools > Options > Editor > Key Mappings]] and the preset schemes can be loaded using the [[IDE Window: Choose Key Mapping Scheme|Choose Key Mapping Scheme]] dialog.
44
55For what does each shortcut does, see the [[Lazarus Tutorial|Lazarus tutorial]].
66
77### Gnome
88
99The default key mapping for Windows fits quite well under Gnome.
1010
1111### KDE
1212
1313The default key mapping for Windows fits quite well under KDE. Some keys like F9 are used by KDE.
1414
1515### macOS, Apple style
1616
1717macOS has quite different key policies. For example most F keys are used by the OS, there are no menu Alt shortcuts and there are substantial guidelines (contrary to Linux and Windows where only a few keys are standardised to work the same under all programs).
1818
1919The Apple [*Human Interface Guidelines* - keyboard section](https://developer.apple.com/design/human-interface-guidelines/macos/user-interaction/keyboard/) deals with key bindings for macOS.
2020
21-Xcode is Apple's own integrated development environment. Here are the Xcode shortcuts: <img src="Xcode_Shortcuts_B_W.png" title="Xcode_Shortcuts_B_W.png" width="1100" alt="Xcode_Shortcuts_B_W.png" />
21+Xcode is Apple's own integrated development environment. Here are the Xcode shortcuts: ![](/wiki-images/4/4c/Xcode_Shortcuts_B_W.png)
2222
2323([Image Source](http://www.1729.us/xcode/Xcode%20Shortcuts%20B_W.png)).
2424
2525### macOS, Lazarus style
2626
2727A macOS key map is available for Lazarus and can be set via [[IDE Window: Editor Options Keymap|Tools &gt; Options &gt; Editor &gt; Key Mappings / Load a scheme]] which opens the [[IDE Window: Choose Key Mapping Scheme|Choose Key Mapping Scheme]] dialog. This preset scheme is based on the "macOS, Apple style" with some keys overridden (see below).
2828
2929| Keys | Function defined by Apple | Conflict with lazarus default | Solution |
3030|----|----|----|----|
3131| F1 | misc | help | Apple: Cmd-\[Shift\]-? |
3232| Ctrl-Shift-F1 | misc | help editor | Mattias: Cmd-Alt-\[Shift\]-? |
3333| Ctrl-F2 | misc | stop program | Xcode: Shift-Cmd-Enter |
3434| F3 | misc | find next | Apple: Cmd-G |
3535| Shift-F3 | misc | find previous | Apple: Cmd-Shift-G |
3636| F4 | misc | run to cursor | Apple: misc, Mattias: no shortcut for 'run to cursor' |
3737| Ctrl-F4 | misc | close file | Apple: Cmd-Shift-W |
3838| F5 | misc | add breakpoint | Xcode: Ctrl-P |
3939| Ctrl-F5 | misc | add watch | Apple: misc, Mattias: no shortcut for add watch |
4040| Ctrl-F8 | misc | jump next error | Xcode: Cmd-+ |
4141| Ctrl-Shift-F8 | misc | jump previous error | Xcode: Cmd-Shift-+ |
4242| F7 | misc | step into | Mattias: Cmd-Alt-R |
4343| Ctrl-F7 | misc | evaluate | Ctrl-Shift-E |
4444| F8 | misc | step over | Mattias: Cmd-Shift-R |
4545| F9 | misc | run | Xcode: Cmd-R |
4646| Ctrl-F9 | misc | build | Xcode: Cmd-B |
4747| F11 | misc | toggle OI | Mattias: Alt-Cmd-I |
4848| Shift-F11 | misc | add unit to project | Xcode: Alt-Cmd-A |
4949| Ctrl-F11 | misc | open project | Apple: misc, Mattias: no key for 'open project' |
5050| Ctrl-Shift-F11 | misc | project options | Mattias: no key for 'project options' |
5151| F12 | misc | toggle unit/form | Apple: misc, Mattias: Cmd-Alt-F |
5252| Ctrl-F12 | misc | view units | Mattias: Ctrl-Alt-U |
5353| Shift-F12 | misc | view forms | Mattias: Ctrl-Shift-U |
5454| \[Shift\]-Up,Down,Right,Left | move cursor | | |
5555| Alt-\[Shift\]-Left/Right | jump to next word | | |
5656| Alt-Up/Down | jump to start/end of paragraph (laz: Ctrl Q,B) | find declaration | Mattias: find declaration |
5757| Cmd-\[Shift\]-Left/Right | jump to start/end of line (laz:Home/End) | jump next word | Apple: jump to start/end of line |
5858| Cmd-Alt-Left/Right | | | Xcode: switch file |
5959| Cmd-Alt-Up/Down | | | Xcode: jump source/header |
6060| Cmd-Up/Down | jump to start/end of file (laz:Ctrl-Home) | scroll one up/down | Apple: jump to start/end of file |
6161| Ctrl-Up/Down | | | Mattias: scroll one up/down |
6262| Cmd-Shift-Up/Down | select to start/end of file (laz:Shift-Ctrl-Home) | method jump | Apple: select to start/end of file |
6363| Ctrl-Shift-Up/Down | | | Mattias: method jump |
6464| Cmd-\[Shift\]-? | show context help | | |
6565| Delete/Backspace | delete char | | |
6666| \[Shift\]-PageUp/Down | jump page up/down | | |
6767| \[Shift\]-Home/End | jump to start/end of file (laz:Ctrl-Home) | jump to start/end of line | Apple: jump to start/end of file |
6868| Cmd-\[Shift\]-Tab | switch application | jump prev/next file | Apple: switch app |
6969| Ctrl-\[Shift\]-Tab | jump to next control | | |
7070| Cmd-*-Space | spotlight, apple reserved | identifier completion | Apple: misc |
7171| Ctrl-Space | Xcode: set mark | | Mattias: identifier completion |
7272| Shift-Ctrl-Space | | | Mattias: code context |
7373| Alt-Ctrl-Space | | | Mattias: word completion |
7474| Cmd-Alt-Escape | force quit | | |
7575| Cmd-A | select all | | |
7676| Cmd-C | copy | | |
7777| Cmd-Alt-D | show/hide dock | | |
7878| Cmd-Ctrl-D | dictionary | | |
7979| Cmd-E | find word at cursor | incremental find | find is smart to auto use word at cursor. incremental find. |
8080| Cmd-F | find | | |
8181| Cmd-Alt-F | Xcode: view details | | Mattias: Toggle Unit/Form |
8282| Cmd-G | find next (laz:F3) | goto line | Apple: find next |
8383| Cmd-Shift-G | find previous (laz:Shift-F3) | insert guid | |
8484| Ctrl-Shift-G | | insert guid | Mattias: insert guid |
8585| Cmd-\[Alt\]-H | hide app | jump back | Apple: hide app |
8686| Ctrl-\[Shift\]-H | | | Mattias: jump history backward/forward |
8787| Ctrl-I | | indent selection | Xcode: indent selection |
8888| Ctrl-U | | unindent selection | Xcode: unindent selection |
8989| Cmd-L | | | Xcode: goto line |
9090| Cmd-M | minimize window | | |
9191| Cmd-Alt-M | minimize app | | |
9292| Cmd-N | new file | | |
9393| Cmd-Shift-N | | | Tom: Insert line |
9494| Cmd-O | open file | | |
9595| Cmd-Q | quit (laz: none) | goto line | Apple: quit |
9696| Cmd-Shift-Q | log out | | |
9797| Cmd-R | Xcode: build and run | search and replace | Xcode: run |
9898| Cmd-Shift-R | | | Mattias: step over |
9999| Cmd-Alt-R | | | Mattias: step into |
100100| Cmd-S | save | | |
101101| Cmd-Shift-S | Save As (laz: none) | save all | Apple: Cmd-Shift-S |
102102| Cmd-Alt-S | Save All | | |
103103| Cmd-V | paste | | |
104104| Cmd-W | close window (laz: none) | word completion | Apple: close window |
105105| Cmd-Shift-W | Xcode: close file | | |
106106| Cmd-Alt-W | close all files | | |
107107| Cmd-X | cut | | |
108108| Cmd-Y | | | Tom: delete to end of line |
109109| Cmd-Z | undo | | |
110110| Control | The control modifier is used by cocoa in text fields. So it is free for designer and source editor functions | | |
111111| Alt-1-9 | create special chars on some layouts | | |
112112| Ctrl-1-9 | | jump to bookmark | |
113113| Ctrl-Shift-1-9 | | set bookmark | |
114114| Cmd-*-1-9 | apple functions like capture screen | | |
115115
116116#### Overidden "Apple style" keys
117117
118118The "Apple style" scheme of keys can be hard on Lazarus users who work with Lazarus on multiple platforms because many of them are very different from the FreeBSD, Linux and Windows schemes. To minimize this problem the "macOS, Lazarus style" scheme was created (based on the default "macOS, Apple style" scheme, but with some changes to have keys similar to those on other platforms. Below are the keys which differ from the standard "macOS, Apple style" scheme:
119119
120120| Keys | Function in Apple style | Function in Lazarus style |
121121|----------|---------------------------|---------------------------|
122122| Home/End | jump to start/end of file | jump to start/end of line |
123123
124124---
125125*From the Free Pascal wiki, page "Lazarus IDE Shortcuts", as it stood on 2020-08-11 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history