Complete macOS Keyboard Shortcuts Guide — System, Terminal, and Finder

Why Learn macOS Keyboard Shortcuts

macOS is an operating system with a well-designed keyboard-centric workflow. If you can switch windows, manage files, and edit text without a mouse, your development productivity increases significantly. Especially for developers switching from Windows, quickly learning the difference between Cmd and Ctrl and macOS-specific shortcuts is important.

This article organizes frequently used shortcuts by category: system, Finder, terminal, and text editing.

Understanding macOS Modifier Keys

macOS modifier keys differ from Windows. Knowing the keyboard symbols helps you read shortcuts quickly from menus.

SymbolKey NameWindows Equivalent
Command (Cmd)Ctrl
Option (Alt/Opt)Alt
Control (Ctrl)N/A (macOS specific)
ShiftShift
Caps LockCaps Lock
fnFunctionFn

Developer tip: Remapping Caps Lock to Control makes Ctrl combinations much more comfortable in the terminal.

# Check Caps Lock → Control mapping (change in system settings)
# System Settings → Keyboard → Keyboard Shortcuts → Modifier Keys
# Caps Lock key: → Control

# Check key mapping in terminal
hidutil property --get "UserKeyMapping"
# Or map directly via command
hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E0}]}'
# 0x700000039 = Caps Lock, 0x7000000E0 = Left Control

System Shortcuts

The most fundamental macOS system shortcuts.

ShortcutFunction
Cmd+SpaceSpotlight search
Cmd+TabSwitch apps
`Cmd+“Switch windows of same app
Cmd+QQuit app
Cmd+WClose current window/tab
Cmd+HHide current app
Cmd+MMinimize current window
Cmd+,Current app preferences
Ctrl+SpaceSwitch input source
Cmd+Ctrl+QLock screen
Cmd+Shift+3Full screen capture
Cmd+Shift+4Area selection capture
Cmd+Shift+5Screenshot/recording tool

Mission Control Shortcuts

Essential shortcuts for multiple desktops and window management.

ShortcutFunction
Ctrl+UpMission Control (view all windows)
Ctrl+DownView all windows of current app
Ctrl+Left/RightMove between desktops
Ctrl+NumberJump to specific desktop
F11Show desktop
# Check Mission Control desktop count
defaults read com.apple.spaces "spans-displays"

# Disable automatic desktop rearrangement (recommended for developers)
# System Settings → Desktop & Dock → Mission Control
# "Automatically rearrange Spaces based on most recent use" → Off

# Check Hot Corners settings (screen corner actions)
defaults read com.apple.dock | grep corner

Finder Shortcuts

Finder shortcuts for file management.

ShortcutFunction
Cmd+NNew Finder window
Cmd+Shift+NCreate new folder
Cmd+DeleteMove file to Trash
Cmd+Shift+DeleteEmpty Trash
Cmd+DDuplicate selection
Cmd+IGet file info
SpaceQuick Look (preview)
Cmd+Shift+.Show/hide hidden files
Cmd+UpGo to parent folder
Cmd+DownOpen selection
Cmd+Shift+GGo to folder (enter path directly)
Cmd+1/2/3/4Switch view mode (icon/list/column/gallery)
# Always show hidden files in Finder
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder

# Show full path in Finder title bar
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
killall Finder

# Set default Finder view mode to list
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
killall Finder

Terminal/Shell Shortcuts

Shortcuts common to both iTerm2 and the default terminal. Based on Emacs keybindings.

ShortcutFunction
Ctrl+AMove to beginning of line
Ctrl+EMove to end of line
Ctrl+UDelete everything left of cursor
Ctrl+KDelete everything right of cursor
Ctrl+WDelete previous word
Ctrl+LClear screen
Ctrl+RReverse history search
Ctrl+CCancel current command
Ctrl+DExit shell
Ctrl+ZSuspend process
Option+Left/RightMove by word (iTerm2)
Cmd+KFully clear terminal screen (iTerm2)
# Check keybindings in zsh
bindkey -l
# Output: emacs viins vicmd ...

# To switch to vi mode
# bindkey -v
# Add to .zshrc for vi-style editing

# Use fzf history search instead of Ctrl+R (more powerful)
# After installing fzf, Ctrl+R is automatically replaced with fzf
brew install fzf
$(brew --prefix)/opt/fzf/install
# Ctrl+R → fzf-based fuzzy search for history

Text Editing Shortcuts

Text editing shortcuts common across the entire macOS system.

ShortcutFunction
Cmd+ASelect all
Cmd+C/X/VCopy/Cut/Paste
Cmd+ZUndo
Cmd+Shift+ZRedo
Cmd+FFind
Cmd+GFind next
Option+DeleteDelete previous word
Cmd+DeleteDelete to beginning of line
Option+Left/RightMove by word
Cmd+Left/RightMove to beginning/end of line
Cmd+Up/DownMove to beginning/end of document
Shift + movement keyExtend selection

Custom Shortcut Configuration

On macOS, you can assign custom shortcuts to any menu item.

# Add custom shortcuts in system settings
# System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts
# "+" button → select app → enter menu title → assign shortcut

# Set custom shortcut via command (e.g., "Show Package Contents" in Finder)
defaults write com.apple.finder NSUserKeyEquivalents -dict-add \
    "Show Package Contents" "@\$p"
# @ = Cmd, $ = Shift, p = P key

# Check currently configured custom shortcuts
defaults read -g NSUserKeyEquivalents
defaults read com.apple.finder NSUserKeyEquivalents

Window Management Tool Integration

If macOS’s built-in window management isn’t enough, Rectangle (free) is recommended.

Shortcut (Rectangle)Function
Ctrl+Option+LeftLeft half
Ctrl+Option+RightRight half
Ctrl+Option+UpTop half
Ctrl+Option+DownBottom half
Ctrl+Option+EnterMaximize
Ctrl+Option+CCenter on screen
Ctrl+Option+UTop-left quarter
# Install Rectangle
brew install --cask rectangle

# Or use macOS 15+ built-in window management
# Drag windows to screen edges for snapping

Summary

A strategy for learning macOS keyboard shortcuts.

  • Start with 5 essentials: Master Cmd+Space, Cmd+Tab, Cmd+\``, Cmd+Q, and Cmd+,` first to complete the basic workflow
  • Terminal shortcuts: Learning just Ctrl+A/E/U/K/R dramatically improves terminal efficiency
  • Finder: Cmd+Shift+. (hidden files) and Cmd+Shift+G (go to path) are developer essentials
  • Window management: Install Rectangle and use Ctrl+Option+arrow keys for window splitting
  • Caps Lock remapping: Mapping Caps Lock to Control makes terminal shortcuts much more comfortable
  • Incremental learning: Don’t try to memorize everything at once — adding 3-5 new shortcuts per week is more effective

Was this article helpful?