Difference between revisions of "Lazarus IDE Shortcuts"

From Lazarus wiki
m (Category Mac OS X added)
(Updated; added IDE Window dialog links; fixed broken external links)
 
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Key mapping=
+
{{Lazarus IDE Shortcuts}}
  
All shortcuts can be edited in Environment / Editor Options / Key mapping. See [[IDE_ Window:_Editor_Options#Key_Mappings|Key Mapping]].
+
== Key mappings ==
  
What does each shortcut: see the [[Lazarus_Tutorial|tutorial]].
+
All 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.
  
==Gnome==
+
For what does each shortcut does, see the [[Lazarus_Tutorial|Lazarus tutorial]].
  
The default key mapping for windows fits quite good under gnome.
+
=== Gnome ===
  
==KDE==
+
The default key mapping for Windows fits quite well under Gnome.
  
The default key mapping for windows fits quite good under KDE. Some keys like F9 are used by KDE.
+
=== KDE ===
  
 +
The default key mapping for Windows fits quite well under KDE. Some keys like F9 are used by KDE.
  
==Mac OS X (Apple style)==
+
=== macOS, Apple style ===
  
Mac OS X 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).
+
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 substantial guidelines (contrary to Linux and Windows where only a few keys are standardised to work the same under all programs).
  
The apple human interface guidelines for key bindings can be seen here:
+
The Apple [https://developer.apple.com/design/human-interface-guidelines/macos/user-interaction/keyboard/ ''Human Interface Guidelines'' - keyboard section] deals with key bindings for macOS.
[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]
+
Xcode is Apple's own integrated development environment. Here are the Xcode shortcuts: [[file:Xcode Shortcuts B W.png|1100px]]
  
A Mac OS X key map is available for lazarus and can be set via IDE menu / environment / editor options / key mapping / choose scheme / Mac OS X.
+
([http://www.1729.us/xcode/Xcode%20Shortcuts%20B_W.png Image Source]).
  
 +
=== macOS, Lazarus style ===
  
{| BORDER="1" CELLSPACING="0"
+
A macOS key map is available for Lazarus and can be set via [[IDE_Window:_Editor_Options_Keymap|Tools > Options > Editor > 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 ([[#Overidden "Apple style" keys|see below]]).
!COLSPAN="1" STYLE="background:#ffdead;"|'''Keys'''
+
 
!COLSPAN="1" STYLE="background:#ffdead;"|'''Function defined by Apple'''
+
{| class="wikitable"
!COLSPAN="1" STYLE="background:#ffdead;"|'''Conflict with lazarus default'''
+
! Keys !! Function defined by Apple !! Conflict with lazarus default !! Solution
!COLSPAN="1" STYLE="background:#ffdead;"|'''Solution'''
 
 
|---- class="working"
 
|---- class="working"
 
|F1||misc||help||Apple: Cmd-[Shift]-?
 
|F1||misc||help||Apple: Cmd-[Shift]-?
Line 145: Line 145:
 
|---- 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 199: Line 201:
 
|}
 
|}
  
==Mac OS X (Lazarus style)==
+
==== Overidden "Apple style" keys ====
  
The Apple scheme of keys can be hard on Lazarus users which 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 Mac OS X scheme (with Apple style), but does some changes to have keys similar to those in other platforms.
+
The "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:
  
Bellow are the keys which differ from the standard Mac OS X with Apple style:
+
{| class="wikitable"
 
+
! Keys !! Function in Apple style !! Function in Lazarus style
 
 
{| BORDER="1" CELLSPACING="0"
 
!COLSPAN="1" STYLE="background:#ffdead;"|'''Keys'''
 
!COLSPAN="1" STYLE="background:#ffdead;"|'''Function in Apple style'''
 
!COLSPAN="1" STYLE="background:#ffdead;"|'''Function in Lazarus style'''
 
 
|---- class="working"
 
|---- class="working"
 
|Home/End||jump to start/end of file||jump to start/end of line
 
|Home/End||jump to start/end of file||jump to start/end of line
 
|}
 
|}
 
[[Category:Mac OS X]]
 

Latest revision as of 06:22, 11 August 2020

English (en) 한국어 (ko)

Key mappings

All shortcuts can be edited in the Tools > Options > Editor > Key Mappings and the preset schemes can be loaded using the Choose Key Mapping Scheme dialog.

For what does each shortcut does, see the Lazarus 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 substantial guidelines (contrary to Linux and Windows where only a few keys are standardised to work the same under all programs).

The Apple Human Interface Guidelines - keyboard section deals with key bindings for macOS.

Xcode is Apple's own integrated development environment. Here are the Xcode shortcuts: Xcode Shortcuts B W.png

(Image Source).

macOS, Lazarus style

A macOS key map is available for Lazarus and can be set via Tools > Options > Editor > Key Mappings / Load a scheme which opens the Choose Key Mapping Scheme dialog. This preset scheme is based on the "macOS, Apple style" with some keys overridden (see below).

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

Overidden "Apple style" keys

The "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:

Keys Function in Apple style Function in Lazarus style
Home/End jump to start/end of file jump to start/end of line