###

## Keyboard Shortcuts

### Console

Description | Windows & Linux | Mac
--- | --- | ---
Move cursor to Console | Ctrl+2 | Ctrl+2
Clear console | Ctrl+L | Ctrl+L
Move cursor to beginning of line | Home | Command+Left
Move cursor to end of line | End | Command+Right
Navigate command history | Up/Down | Up/Down
Popup command history | Ctrl+Up | Command+Up
Interrupt currently executing command | Esc | Esc
Change working directory | Ctrl+Shift+H | Ctrl+Shift+H

### Source

Description | Windows & Linux | Mac
Goto File/Function | Ctrl+. | Ctrl+.
Move cursor to Source Editor | Ctrl+1 | Ctrl+1
New document (except on Chrome/Windows) | Ctrl+Shift+N | Command+Shift+N
New document (Chrome only) | Ctrl+Alt+Shift+N | Command+Shift+Alt+N
Open document | Ctrl+O | Command+O
Save active document | Ctrl+S | Command+S
Close active document (except on Chrome) | Ctrl+W | Command+W
Close active document (Chrome only) | Ctrl+Alt+W | Command+Option+W
Close all open documents | Ctrl+Shift+W | Command+Shift+W
Preview HTML (Markdown and HTML) | Ctrl+Shift+K | Command+Shift+K
Knit Document (knitr) | Ctrl+Shift+K | Command+Shift+K
Compile Notebook | Ctrl+Shift+K | Command+Shift+K
Compile PDF (TeX and Sweave) | Ctrl+Shift+K | Command+Shift+K
Insert chunk (Sweave and Knitr) | Ctrl+Alt+I | Command+Option+I
Insert code section | Ctrl+Shift+R | Command+Shift+R
Run current line/selection | Ctrl+Enter | Command+Enter
Run current line/selection (retain cursor position) | Alt+Enter | Option+Enter
Re-run previous region | Ctrl+Shift+P | Command+Shift+P
Run current document | Ctrl+Alt+R | Command+Option+R
Run from document beginning to current line | Ctrl+Alt+B | Command+Option+B
Run from current line to document end | Ctrl+Alt+E | Command+Option+E
Run the current function definition | Ctrl+Alt+F | Command+Option+F
Run the current code section | Ctrl+Alt+T | Command+Option+T
Run previous Sweave/Rmd code | Ctrl+Alt+P | Command+Option+P
Run the current Sweave/Rmd chunk | Ctrl+Alt+C | Command+Option+C
Run the next Sweave/Rmd chunk | Ctrl+Alt+N | Command+Option+N
Source a file | Ctrl+Shift+O | Command+Shift+O
Source the current document | Ctrl+Shift+S | Command+Shift+S
Source the current document (with echo) | Ctrl+Shift+Enter | Command+Shift+Enter
Fold Selected | Alt+L | Cmd+Option+L
Unfold Selected | Shift+Alt+L | Cmd+Shift+Option+L
Fold All | Alt+O | Cmd+Option+O
Unfold All | Shift+Alt+O | Cmd+Shift+Option+O
Go to line | Shift+Alt+G | Cmd+Shift+Option+G
Jump to | Shift+Alt+J | Cmd+Shift+Option+J
Switch to tab | Ctrl+Shift+. | Ctrl+Shift+.
Previous tab | Ctrl+F11 | Ctrl+F11
Next tab | Ctrl+F12 | Ctrl+F12
First tab | Ctrl+Shift+F11 | Ctrl+Shift+F11
Last tab | Ctrl+Shift+F12 | Ctrl+Shift+F12
Navigate back | Ctrl+F9 | Cmd+F9
Navigate forward | Ctrl+F10 | Cmd+F10
Extract function from selection | Ctrl+Alt+X | Command+Option+X
Extract variable from selection | Ctrl+Alt+V | Command+Option+V
Reindent lines | Ctrl+I | Command+I
Comment/uncomment current line/selection | Ctrl+Shift+C | Command+Shift+C
Reflow Comment | Ctrl+Shift+/ | Command+Shift+/
Reformat Selection | Ctrl+Shift+A | Command+Shift+A
Show Diagnostics | Ctrl+Shift+Alt+P | Command+Shift+Alt+P
Transpose Letters |  | Ctrl+T
Move Lines Up/Down | Alt+Up/Down | Option+Up/Down
Copy Lines Up/Down | Shift+Alt+Up/Down | Command+Option+Up/Down
Jump to Matching Brace/Paren | Ctrl+P | Ctrl+P
Expand to Matching Brace/Paren | Ctrl+Shift+E | Ctrl+Shift+E
Select to Matching Brace/Paren | Ctrl+Shift+Alt+E | Ctrl+Shift+Alt+E
Add Cursor Above Current Cursor | Ctrl+Alt+Up | Ctrl+Alt+Up
Add Cursor Below Current Cursor | Ctrl+Alt+Down | Ctrl+Alt+Down
Move Active Cursor Up | Ctrl+Alt+Shift+Up | Ctrl+Alt+Shift+Up
Move Active Cursor Down | Ctrl+Alt+Shift+Down | Ctrl+Alt+Shift+Down
Find and Replace | Ctrl+F | Command+F
Find Next | Win: F3, Linux: Ctrl+G | Command+G
Find Previous | Win: Shift+F3, Linux: Ctrl+Shift+G | Command+Shift+G
Use Selection for Find | Ctrl+F3 | Command+E
Replace and Find | Ctrl+Shift+J | Command+Shift+J
Find in Files | Ctrl+Shift+F | Command+Shift+F
Check Spelling | F7 | F7

### Editing (Console and Source)

Description | Windows & Linux | Mac
Undo | Ctrl+Z | Command+Z
Redo | Ctrl+Shift+Z | Command+Shift+Z
Cut | Ctrl+X | Command+X
Copy | Ctrl+C | Command+C
Paste | Ctrl+V | Command+V
Select All | Ctrl+A | Command+A
Jump to Word | Ctrl+Left/Right | Option+Left/Right
Jump to Start/End | Ctrl+Home/End or Ctrl+Up/Down | Command+Home/End or Command+Up/Down
Delete Line | Ctrl+D | Command+D
Select | Shift+[Arrow] | Shift+[Arrow]
Select Word | Ctrl+Shift+Left/Right | Option+Shift+Left/Right
Select to Line Start | Alt+Shift+Left | Command+Shift+Left
Select to Line End | Alt+Shift+Right | Command+Shift+Right
Select Page Up/Down | Shift+PageUp/PageDown | Shift+PageUp/Down
Select to Start/End | Ctrl+Shift+Home/End or Shift+Alt+Up/Down | Command+Shift+Up/Down
Delete Word Left | Ctrl+Backspace | Option+Backspace or Ctrl+Option+Backspace
Delete Word Right |  | Option+Delete
Delete to Line End |  | Ctrl+K
Delete to Line Start |  | Option+Backspace
Indent | Tab (at beginning of line) | Tab (at beginning of line)
Outdent | Shift+Tab | Shift+Tab
Yank line up to cursor | Ctrl+U | Ctrl+U
Yank line after cursor | Ctrl+K | Ctrl+K
Insert currently yanked text | Ctrl+Y | Ctrl+Y
Insert assignment operator | Alt+- | Option+-
Insert pipe operator | Ctrl+Shift+M | Cmd+Shift+M
Show help for function at cursor | F1 | F1
Show source code for function at cursor | F2 | F2
Find usages for symbol at cursor (C++) | Ctrl+Alt+U | Cmd+Option+U

### Completions (Console and Source)

Description | Windows & Linux | Mac
Attempt completion | Tab or Ctrl+Space | Tab or Command+Space
Navigate candidates | Up/Down | Up/Down
Accept selected candidate | Enter, Tab, or Right | Enter, Tab, or Right
Dismiss completion popup | Esc | Esc

### Views

Description | Windows & Linux | Mac
Move focus to Source Editor | Ctrl+1 | Ctrl+1
Move focus to Console | Ctrl+2 | Ctrl+2
Move focus to Help | Ctrl+3 | Ctrl+3
Show History | Ctrl+4 | Ctrl+4
Show Files | Ctrl+5 | Ctrl+5
Show Plots | Ctrl+6 | Ctrl+6
Show Packages | Ctrl+7 | Ctrl+7
Show Environment | Ctrl+8 | Ctrl+8
Show Git/SVN | Ctrl+9 | Ctrl+9
Show Build | Ctrl+0 | Ctrl+0
Sync Editor & PDF Preview | Ctrl+F8 | Cmd+F8
Show Keyboard Shortcut Reference | Alt+Shift+K | Option+Shift+K

### Build

Description | Windows & Linux | Mac
Build and Reload | Ctrl+Shift+B | Cmd+Shift+B
Load All (devtools) | Ctrl+Shift+L | Cmd+Shift+L
Test Package (Desktop) | Ctrl+Shift+T | Cmd+Shift+T
Test Package (Web) | Ctrl+Alt+F7 | Cmd+Alt+F7
Check Package | Ctrl+Shift+E | Cmd+Shift+E
Document Package | Ctrl+Shift+D | Cmd+Shift+D

### Debug

Description | Windows & Linux | Mac
Toggle Breakpoint | Shift+F9 | Shift+F9
Execute Next Line | F10 | F10
Step Into Function | Shift+F4 | Shift+F4
Finish Function/Loop | Shift+F6 | Shift+F6
Continue | Shift+F5 | Shift+F5
Stop Debugging | Shift+F8 | Shift+F8

### Plots

Description | Windows & Linux | Mac
Previous plot | Ctrl+Alt+F11 | Command+Option+F11
Next plot | Ctrl+Alt+F12 | Command+Option+F12

### Git/SVN

Description | Windows & Linux | Mac
Diff active source document | Ctrl+Alt+D | Ctrl+Option+D
Commit changes | Ctrl+Alt+M | Ctrl+Option+M
Scroll diff view | Ctrl+Up/Down | Ctrl+Up/Down
Stage/Unstage (Git) | Spacebar | Spacebar
Stage/Unstage and move to next (Git) | Enter | Enter

### Session

Description | Windows & Linux | Mac
Quit Session (desktop only) | Ctrl+Q | Command+Q
Restart R Session | Ctrl+Shift+F10 | Command+Shift+F10

### Terminal

Description | Windows & Linux | Mac
New Terminal | Shift+Alt+T | Shift+Option+T
Rename Current Terminal | Shift+Alt+R | Shift+Option+R
Clear Current Terminal | Ctrl+Shift+L | Ctrl+Shift+L
Move Focus to Terminal | Ctrl+Shift+T | Ctrl+Shift+T
Previous Terminal | Ctrl+Alt+F11 | Ctrl+Option+F11
Next Terminal | Ctrl+Alt+F12 | Ctrl+Option+F12