Difference between revisions of "Lazarus IDE Shortcuts"
m (→macOS (Apple style): OSX -> macOS) |
|||
(35 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Lazarus IDE Shortcuts}} | ||
+ | |||
=Key mapping= | =Key mapping= | ||
− | All shortcuts can be edited in | + | All shortcuts can be edited in Tools -> Options -> Editor -> Key mapping. See [[IDE_ Window:_Editor_Options#Key_Mappings|Key Mapping]]. |
− | + | What does each shortcut: see the [[Lazarus_Tutorial|tutorial]]. | |
− | + | ==Gnome== | |
− | The | + | The default key mapping for Windows fits quite well under Gnome. |
+ | |||
+ | ==KDE== | ||
+ | |||
+ | The default key mapping for Windows fits quite well under KDE. Some keys like F9 are used by KDE. | ||
+ | |||
+ | |||
+ | ==macOS (Apple style)== | ||
+ | |||
+ | macOS has quite different key policies. For example most F keys are used by the OS, there are no menu Alt shortcuts and there are large guidelines (contrary to Linux and Windows where only a few keys work the same under all programs). | ||
+ | |||
+ | The Apple ''Human Interface Guidelines'' for key bindings can be seen here: | ||
[http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGUserInput/chapter_12_section_3.html] | [http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGUserInput/chapter_12_section_3.html] | ||
− | + | Xcode is Apple's own development environment. Here are the Xcode shortcuts: [http://www.1729.us/xcode/Xcode%20Shortcuts%20B_W.png] | |
+ | |||
+ | A macOS key map is available for Lazarus and can be set via Tools -> Options -> Editor -> Key Mapping / choose scheme / macOS. | ||
− | + | ||
− | {| | + | {| class="wikitable" |
− | ! | + | ! Keys !! Function defined by Apple !! Conflict with lazarus default !! Solution |
− | ! | ||
− | ! | ||
− | ! | ||
|---- class="working" | |---- class="working" | ||
− | |F1||misc||help||Apple: Cmd-? | + | |F1||misc||help||Apple: Cmd-[Shift]-? |
|---- class="working" | |---- class="working" | ||
− | |Ctrl-Shift-F1||misc||help editor||Mattias: Cmd-Alt-? | + | |Ctrl-Shift-F1||misc||help editor||Mattias: Cmd-Alt-[Shift]-? |
|---- class="working" | |---- class="working" | ||
|Ctrl-F2||misc||stop program||Xcode: Shift-Cmd-Enter | |Ctrl-F2||misc||stop program||Xcode: Shift-Cmd-Enter | ||
Line 33: | Line 45: | ||
|Ctrl-F4||misc||close file||Apple: Cmd-Shift-W | |Ctrl-F4||misc||close file||Apple: Cmd-Shift-W | ||
|---- class="working" | |---- class="working" | ||
− | |F5||misc||add breakpoint||Xcode: | + | |F5||misc||add breakpoint||Xcode: Ctrl-P |
|---- class="working" | |---- class="working" | ||
|Ctrl-F5||misc||add watch||Apple: misc, Mattias: no shortcut for add watch | |Ctrl-F5||misc||add watch||Apple: misc, Mattias: no shortcut for add watch | ||
|---- class="working" | |---- class="working" | ||
− | |Ctrl-F8||misc||jump next error||Xcode: Cmd- | + | |Ctrl-F8||misc||jump next error||Xcode: Cmd-+ |
|---- class="working" | |---- class="working" | ||
− | |Ctrl-Shift-F8||misc||jump previous error||Xcode: Cmd-+ | + | |Ctrl-Shift-F8||misc||jump previous error||Xcode: Cmd-Shift-+ |
|---- class="working" | |---- class="working" | ||
− | |F7||misc||step into|| | + | |F7||misc||step into||Mattias: Cmd-Alt-R |
− | |---- class=" | + | |---- class="working" |
− | |Ctrl-F7||misc||evaluate|| | + | |Ctrl-F7||misc||evaluate||Ctrl-Shift-E |
− | |---- class=" | + | |---- class="working" |
− | |F8||misc||step over|| | + | |F8||misc||step over||Mattias: Cmd-Shift-R |
− | |---- class=" | + | |---- class="working" |
− | |F9||misc||run||Xcode: Cmd | + | |F9||misc||run||Xcode: Cmd-R |
|---- class="working" | |---- class="working" | ||
|Ctrl-F9||misc||build||Xcode: Cmd-B | |Ctrl-F9||misc||build||Xcode: Cmd-B | ||
− | |---- class=" | + | |---- class="working" |
− | |F11||misc||toggle OI|| | + | |F11||misc||toggle OI||Mattias: Alt-Cmd-I |
|---- class="working" | |---- class="working" | ||
|Shift-F11||misc||add unit to project||Xcode: Alt-Cmd-A | |Shift-F11||misc||add unit to project||Xcode: Alt-Cmd-A | ||
|---- class="working" | |---- class="working" | ||
|Ctrl-F11||misc||open project||Apple: misc, Mattias: no key for 'open project' | |Ctrl-F11||misc||open project||Apple: misc, Mattias: no key for 'open project' | ||
− | |---- class=" | + | |---- class="working" |
− | |Ctrl-Shift-F11||misc||project options|| | + | |Ctrl-Shift-F11||misc||project options||Mattias: no key for 'project options' |
− | |---- class=" | + | |---- class="working" |
− | |F12||misc||toggle unit/form|| | + | |F12||misc||toggle unit/form||Apple: misc, Mattias: Cmd-Alt-F |
− | |---- class=" | + | |---- class="working" |
− | |Ctrl-F12||misc||view units|| | + | |Ctrl-F12||misc||view units||Mattias: Ctrl-Alt-U |
− | |---- class=" | + | |---- class="working" |
− | |Shift-F12||misc||view forms|| | + | |Shift-F12||misc||view forms||Mattias: Ctrl-Shift-U |
|---- class="working" | |---- class="working" | ||
|[Shift]-Up,Down,Right,Left||move cursor|||| | |[Shift]-Up,Down,Right,Left||move cursor|||| | ||
Line 71: | Line 83: | ||
|Alt-Up/Down||jump to start/end of paragraph (laz: Ctrl Q,B)||find declaration||Mattias: find declaration | |Alt-Up/Down||jump to start/end of paragraph (laz: Ctrl Q,B)||find declaration||Mattias: find declaration | ||
|---- class="working" | |---- class="working" | ||
− | |Cmd-[Shift]-Left/Right||jump to start/end of line (laz:Home/End)||jump next word||Apple: | + | |Cmd-[Shift]-Left/Right||jump to start/end of line (laz:Home/End)||jump next word||Apple: jump to start/end of line |
|---- class="working" | |---- class="working" | ||
|Cmd-Alt-Left/Right||||||Xcode: switch file | |Cmd-Alt-Left/Right||||||Xcode: switch file | ||
Line 85: | Line 97: | ||
|Ctrl-Shift-Up/Down||||||Mattias: method jump | |Ctrl-Shift-Up/Down||||||Mattias: method jump | ||
|---- class="working" | |---- class="working" | ||
− | |Cmd-?||show context help|||| | + | |Cmd-[Shift]-?||show context help|||| |
|---- class="working" | |---- class="working" | ||
|Delete/Backspace||delete char|||| | |Delete/Backspace||delete char|||| | ||
|---- class="working" | |---- class="working" | ||
|[Shift]-PageUp/Down||jump page up/down|||| | |[Shift]-PageUp/Down||jump page up/down|||| | ||
− | |---- class=" | + | |---- class="working" |
− | |Home/End||jump to start/end of file (laz:Ctrl-Home)||jump to start/end of line|| | + | |[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 |
|---- class="working" | |---- class="working" | ||
|Cmd-[Shift]-Tab||switch application||jump prev/next file||Apple: switch app | |Cmd-[Shift]-Tab||switch application||jump prev/next file||Apple: switch app | ||
Line 97: | Line 109: | ||
|Ctrl-[Shift]-Tab||jump to next control|||| | |Ctrl-[Shift]-Tab||jump to next control|||| | ||
|---- class="working" | |---- class="working" | ||
− | | | + | |Cmd-*-Space||spotlight, apple reserved||identifier completion||Apple: misc |
|---- class="working" | |---- class="working" | ||
− | | | + | |Ctrl-Space||Xcode: set mark||||Mattias: identifier completion |
|---- class="working" | |---- class="working" | ||
− | | | + | |Shift-Ctrl-Space||||||Mattias: code context |
|---- class="working" | |---- class="working" | ||
− | |Ctrl-Space|| | + | |Alt-Ctrl-Space||||||Mattias: word completion |
|---- class="working" | |---- class="working" | ||
|Cmd-Alt-Escape||force quit|||| | |Cmd-Alt-Escape||force quit|||| | ||
Line 119: | Line 131: | ||
|Cmd-F||find|||| | |Cmd-F||find|||| | ||
|---- class="working" | |---- class="working" | ||
− | |Cmd-Alt-F|| | + | |Cmd-Alt-F||Xcode: view details||||Mattias: Toggle Unit/Form |
|---- class="working" | |---- class="working" | ||
|Cmd-G||find next (laz:F3)||goto line||Apple: find next | |Cmd-G||find next (laz:F3)||goto line||Apple: find next | ||
Line 132: | Line 144: | ||
|---- class="working" | |---- class="working" | ||
|Ctrl-I||||indent selection||Xcode: indent selection | |Ctrl-I||||indent selection||Xcode: indent selection | ||
+ | |---- class="working" | ||
+ | |Ctrl-U||||unindent selection||Xcode: unindent selection | ||
|---- class="working" | |---- class="working" | ||
|Cmd-L||||||Xcode: goto line | |Cmd-L||||||Xcode: goto line | ||
Line 140: | Line 154: | ||
|---- class="working" | |---- class="working" | ||
|Cmd-N||new file|||| | |Cmd-N||new file|||| | ||
+ | |---- class="working" | ||
+ | |Cmd-Shift-N||||||Tom: Insert line | ||
|---- class="working" | |---- class="working" | ||
|Cmd-O||open file|||| | |Cmd-O||open file|||| | ||
Line 146: | Line 162: | ||
|---- class="working" | |---- class="working" | ||
|Cmd-Shift-Q||log out|||| | |Cmd-Shift-Q||log out|||| | ||
+ | |---- class="working" | ||
+ | |Cmd-R||Xcode: build and run||search and replace||Xcode: run | ||
+ | |---- class="working" | ||
+ | |Cmd-Shift-R||||||Mattias: step over | ||
+ | |---- class="working" | ||
+ | |Cmd-Alt-R||||||Mattias: step into | ||
|---- class="working" | |---- class="working" | ||
|Cmd-S||save|||| | |Cmd-S||save|||| | ||
|---- class="working" | |---- class="working" | ||
− | |Cmd-Shift-S||Save As (laz: none)||save all||Apple: Cmd- | + | |Cmd-Shift-S||Save As (laz: none)||save all||Apple: Cmd-Shift-S |
|---- class="working" | |---- class="working" | ||
|Cmd-Alt-S||Save All|||| | |Cmd-Alt-S||Save All|||| | ||
Line 157: | Line 179: | ||
|Cmd-W||close window (laz: none)||word completion||Apple: close window | |Cmd-W||close window (laz: none)||word completion||Apple: close window | ||
|---- class="working" | |---- class="working" | ||
− | |Cmd-Shift-W||close file|||| | + | |Cmd-Shift-W||Xcode: close file|||| |
|---- class="working" | |---- class="working" | ||
|Cmd-Alt-W||close all files|||| | |Cmd-Alt-W||close all files|||| | ||
|---- class="working" | |---- class="working" | ||
|Cmd-X||cut|||| | |Cmd-X||cut|||| | ||
+ | |---- class="working" | ||
+ | |Cmd-Y||||||Tom: delete to end of line | ||
|---- class="working" | |---- class="working" | ||
|Cmd-Z||undo|||| | |Cmd-Z||undo|||| | ||
Line 176: | Line 200: | ||
|} | |} | ||
− | == | + | ==macOS (Lazarus style)== |
− | + | ||
+ | The Apple scheme of keys can be hard on Lazarus users who work with it on several platforms, because many of them are very different from the Windows and Linux schemes. To minimize this problem a new Scheme was created which is a copy of the default macOS scheme (with Apple style), but does some changes to have keys similar to those on other platforms. | ||
+ | |||
+ | Below are the keys which differ from the standard macOS with Apple style: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Keys !! Function in Apple style !! Function in Lazarus style | ||
+ | |---- class="working" | ||
+ | |Home/End||jump to start/end of file||jump to start/end of line | ||
+ | |} |
Revision as of 04:17, 22 December 2019
│
English (en) │
한국어 (ko) │
Key mapping
All shortcuts can be edited in Tools -> Options -> Editor -> Key mapping. See Key Mapping.
What does each shortcut: see the tutorial.
Gnome
The default key mapping for Windows fits quite well under Gnome.
KDE
The default key mapping for Windows fits quite well under KDE. Some keys like F9 are used by KDE.
macOS (Apple style)
macOS has quite different key policies. For example most F keys are used by the OS, there are no menu Alt shortcuts and there are large guidelines (contrary to Linux and Windows where only a few keys work the same under all programs).
The Apple Human Interface Guidelines for key bindings can be seen here: [1]
Xcode is Apple's own development environment. Here are the Xcode shortcuts: [2]
A macOS key map is available for Lazarus and can be set via Tools -> Options -> Editor -> Key Mapping / choose scheme / macOS.
Keys | Function defined by Apple | Conflict with lazarus default | Solution |
---|---|---|---|
F1 | misc | help | Apple: Cmd-[Shift]-? |
Ctrl-Shift-F1 | misc | help editor | Mattias: Cmd-Alt-[Shift]-? |
Ctrl-F2 | misc | stop program | Xcode: Shift-Cmd-Enter |
F3 | misc | find next | Apple: Cmd-G |
Shift-F3 | misc | find previous | Apple: Cmd-Shift-G |
F4 | misc | run to cursor | Apple: misc, Mattias: no shortcut for 'run to cursor' |
Ctrl-F4 | misc | close file | Apple: Cmd-Shift-W |
F5 | misc | add breakpoint | Xcode: Ctrl-P |
Ctrl-F5 | misc | add watch | Apple: misc, Mattias: no shortcut for add watch |
Ctrl-F8 | misc | jump next error | Xcode: Cmd-+ |
Ctrl-Shift-F8 | misc | jump previous error | Xcode: Cmd-Shift-+ |
F7 | misc | step into | Mattias: Cmd-Alt-R |
Ctrl-F7 | misc | evaluate | Ctrl-Shift-E |
F8 | misc | step over | Mattias: Cmd-Shift-R |
F9 | misc | run | Xcode: Cmd-R |
Ctrl-F9 | misc | build | Xcode: Cmd-B |
F11 | misc | toggle OI | Mattias: Alt-Cmd-I |
Shift-F11 | misc | add unit to project | Xcode: Alt-Cmd-A |
Ctrl-F11 | misc | open project | Apple: misc, Mattias: no key for 'open project' |
Ctrl-Shift-F11 | misc | project options | Mattias: no key for 'project options' |
F12 | misc | toggle unit/form | Apple: misc, Mattias: Cmd-Alt-F |
Ctrl-F12 | misc | view units | Mattias: Ctrl-Alt-U |
Shift-F12 | misc | view forms | Mattias: Ctrl-Shift-U |
[Shift]-Up,Down,Right,Left | move cursor | ||
Alt-[Shift]-Left/Right | jump to next word | ||
Alt-Up/Down | jump to start/end of paragraph (laz: Ctrl Q,B) | find declaration | Mattias: find declaration |
Cmd-[Shift]-Left/Right | jump to start/end of line (laz:Home/End) | jump next word | Apple: jump to start/end of line |
Cmd-Alt-Left/Right | Xcode: switch file | ||
Cmd-Alt-Up/Down | Xcode: jump source/header | ||
Cmd-Up/Down | jump to start/end of file (laz:Ctrl-Home) | scroll one up/down | Apple: jump to start/end of file |
Ctrl-Up/Down | Mattias: scroll one up/down | ||
Cmd-Shift-Up/Down | select to start/end of file (laz:Shift-Ctrl-Home) | method jump | Apple: select to start/end of file |
Ctrl-Shift-Up/Down | Mattias: method jump | ||
Cmd-[Shift]-? | show context help | ||
Delete/Backspace | delete char | ||
[Shift]-PageUp/Down | jump page up/down | ||
[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 |
Cmd-[Shift]-Tab | switch application | jump prev/next file | Apple: switch app |
Ctrl-[Shift]-Tab | jump to next control | ||
Cmd-*-Space | spotlight, apple reserved | identifier completion | Apple: misc |
Ctrl-Space | Xcode: set mark | Mattias: identifier completion | |
Shift-Ctrl-Space | Mattias: code context | ||
Alt-Ctrl-Space | Mattias: word completion | ||
Cmd-Alt-Escape | force quit | ||
Cmd-A | select all | ||
Cmd-C | copy | ||
Cmd-Alt-D | show/hide dock | ||
Cmd-Ctrl-D | dictionary | ||
Cmd-E | find word at cursor | incremental find | find is smart to auto use word at cursor. incremental find. |
Cmd-F | find | ||
Cmd-Alt-F | Xcode: view details | Mattias: Toggle Unit/Form | |
Cmd-G | find next (laz:F3) | goto line | Apple: find next |
Cmd-Shift-G | find previous (laz:Shift-F3) | insert guid | |
Ctrl-Shift-G | insert guid | Mattias: insert guid | |
Cmd-[Alt]-H | hide app | jump back | Apple: hide app |
Ctrl-[Shift]-H | Mattias: jump history backward/forward | ||
Ctrl-I | indent selection | Xcode: indent selection | |
Ctrl-U | unindent selection | Xcode: unindent selection | |
Cmd-L | Xcode: goto line | ||
Cmd-M | minimize window | ||
Cmd-Alt-M | minimize app | ||
Cmd-N | new file | ||
Cmd-Shift-N | Tom: Insert line | ||
Cmd-O | open file | ||
Cmd-Q | quit (laz: none) | goto line | Apple: quit |
Cmd-Shift-Q | log out | ||
Cmd-R | Xcode: build and run | search and replace | Xcode: run |
Cmd-Shift-R | Mattias: step over | ||
Cmd-Alt-R | Mattias: step into | ||
Cmd-S | save | ||
Cmd-Shift-S | Save As (laz: none) | save all | Apple: Cmd-Shift-S |
Cmd-Alt-S | Save All | ||
Cmd-V | paste | ||
Cmd-W | close window (laz: none) | word completion | Apple: close window |
Cmd-Shift-W | Xcode: close file | ||
Cmd-Alt-W | close all files | ||
Cmd-X | cut | ||
Cmd-Y | Tom: delete to end of line | ||
Cmd-Z | undo | ||
Control | The control modifier is used by cocoa in text fields. So it is free for designer and source editor functions | ||
Alt-1-9 | create special chars on some layouts | ||
Ctrl-1-9 | jump to bookmark | ||
Ctrl-Shift-1-9 | set bookmark | ||
Cmd-*-1-9 | apple functions like capture screen |
macOS (Lazarus style)
The Apple scheme of keys can be hard on Lazarus users who work with it on several platforms, because many of them are very different from the Windows and Linux schemes. To minimize this problem a new Scheme was created which is a copy of the default macOS scheme (with Apple style), but does some changes to have keys similar to those on other platforms.
Below are the keys which differ from the standard macOS with Apple style:
Keys | Function in Apple style | Function in Lazarus style |
---|---|---|
Home/End | jump to start/end of file | jump to start/end of line |