Appearance
Ghostty - Terminal Emulator
Ultimate Ghostty reference for shortcuts, configuration, and productivity features
Ghostty is a fast, feature-rich, and cross-platform terminal emulator created by Mitchell Hashimoto, co-founder of HashiCorp. Built with Zig and designed for performance, Ghostty uses platform-native UI and GPU acceleration to deliver an exceptional terminal experience. This comprehensive cheat sheet covers essential shortcuts, configuration options, and advanced features to maximize your productivity with Ghostty.
Getting Started
Installation
bash
# macOS - Download from official website
# Ready-to-run binaries available at https://ghostty.org/
# Linux - Build from source
git clone https://github.com/ghostty-org/ghostty.git
cd ghostty
zig build -Doptimize=ReleaseFast
# Check installation
ghostty --version
# List default keybindings
ghostty +list-keybinds --default
First Launch
bash
# Launch Ghostty
ghostty
# Launch with specific configuration
ghostty --config-file=/path/to/config
# Launch in debug mode
ghostty --debug
# Launch with specific working directory
ghostty --working-directory=/path/to/dir
Essential Keyboard Shortcuts
Window Management
bash
# New window
Cmd+N (macOS) / Ctrl+Shift+N (Linux)
# Close window
Cmd+W (macOS) / Ctrl+Shift+W (Linux)
# Close all windows (macOS only)
Cmd+Option+W
# Toggle fullscreen
Cmd+Enter (macOS) / F11 (Linux)
# Toggle window decorations (Linux only)
Ctrl+Shift+F12
# Minimize window
Cmd+M (macOS)
# Hide all windows (macOS only)
Cmd+H
Tab Management
bash
# New tab
Cmd+T (macOS) / Ctrl+Shift+T (Linux)
# Close tab
Cmd+W (macOS) / Ctrl+Shift+W (Linux)
# Next tab
Cmd+Shift+] (macOS) / Ctrl+Page Down (Linux)
# Previous tab
Cmd+Shift+[ (macOS) / Ctrl+Page Up (Linux)
# Go to last tab
Cmd+9 (macOS) / Ctrl+9 (Linux)
# Go to specific tab (1-9)
Cmd+1-8 (macOS) / Ctrl+1-8 (Linux)
# Move tab left/right
Cmd+Shift+Left/Right (macOS)
# Toggle tab overview (libadwaita)
Ctrl+Shift+Tab
Split Management
bash
# New split (right)
Cmd+D (macOS) / Ctrl+Shift+D (Linux)
# New split (down)
Cmd+Shift+D (macOS) / Ctrl+Shift+Down (Linux)
# New split (auto direction)
Cmd+Shift+Enter
# Focus split (directional)
Cmd+Option+Arrow (macOS) / Ctrl+Alt+Arrow (Linux)
# Focus next split
Cmd+] (macOS) / Ctrl+Shift+] (Linux)
# Focus previous split
Cmd+[ (macOS) / Ctrl+Shift+[ (Linux)
# Zoom/unzoom current split
Cmd+Shift+Z (macOS) / Ctrl+Shift+Z (Linux)
# Resize split
Cmd+Shift+Arrow (macOS) / Ctrl+Shift+Alt+Arrow (Linux)
# Equalize all splits
Cmd+Shift+E (macOS) / Ctrl+Shift+E (Linux)
# Close split
Cmd+W (macOS) / Ctrl+Shift+W (Linux)
Text Operations
Copy and Paste
bash
# Copy selection
Cmd+C (macOS) / Ctrl+Shift+C (Linux)
# Paste from clipboard
Cmd+V (macOS) / Ctrl+Shift+V (Linux)
# Paste from selection (Linux)
Shift+Insert
# Copy URL under cursor
Cmd+Shift+U (macOS) / Ctrl+Shift+U (Linux)
# Select all
Cmd+A (macOS) / Ctrl+Shift+A (Linux)
Text Selection
bash
# Start selection mode
Cmd+Shift+X (macOS) / Ctrl+Shift+X (Linux)
# Select word
Double-click
# Select line
Triple-click
# Extend selection
Shift+Arrow keys
# Adjust selection
Shift+Arrow (left, right, up, down)
Shift+Page Up/Down (page selection)
Shift+Home/End (line selection)
Search and Navigation
bash
# Search in terminal
Cmd+F (macOS) / Ctrl+Shift+F (Linux)
# Find next
Cmd+G (macOS) / F3 (Linux)
# Find previous
Cmd+Shift+G (macOS) / Shift+F3 (Linux)
# Jump to prompt (forward/backward)
Cmd+Up/Down (macOS) / Ctrl+Shift+Up/Down (Linux)
Font and Display
Font Size Control
bash
# Increase font size
Cmd+Plus (macOS) / Ctrl+Plus (Linux)
# Decrease font size
Cmd+Minus (macOS) / Ctrl+Minus (Linux)
# Reset font size
Cmd+0 (macOS) / Ctrl+0 (Linux)
Screen Control
bash
# Clear screen
Cmd+K (macOS) / Ctrl+Shift+K (Linux)
# Clear screen and scrollback
Cmd+Shift+K (macOS) / Ctrl+Shift+L (Linux)
# Reset terminal
Cmd+R (macOS) / Ctrl+Shift+R (Linux)
# Scroll to top
Cmd+Home (macOS) / Ctrl+Home (Linux)
# Scroll to bottom
Cmd+End (macOS) / Ctrl+End (Linux)
# Scroll page up/down
Page Up/Page Down
# Scroll line up/down
Shift+Up/Down
Advanced Features
Quick Terminal
bash
# Toggle quick terminal (macOS only)
Cmd+` (backtick)
# Global quick terminal (works when Ghostty not focused)
# Configure with: keybind = global:cmd+grave_accent=toggle_quick_terminal
# Quick terminal features:
# - Slides in from screen edge
# - Disappears when focus lost
# - Preserves terminal state
# - Supports splits (no tabs)
# - Singleton instance
Inspector and Debugging
bash
# Toggle terminal inspector
Cmd+I (macOS) / Ctrl+Shift+I (Linux)
# Show inspector
Cmd+Shift+I (macOS)
# Hide inspector
Cmd+Option+I (macOS)
# Inspector features:
# - View terminal state
# - Debug rendering issues
# - Monitor performance
# - Inspect escape sequences
Configuration Management
bash
# Open configuration file
Cmd+, (macOS) / Ctrl+, (Linux)
# Reload configuration
Cmd+Shift+R (macOS) / Ctrl+Shift+F5 (Linux)
# Configuration locations:
# macOS: ~/.config/ghostty/config
# Linux: ~/.config/ghostty/config
# Windows: %APPDATA%\ghostty\config
Configuration Examples
Basic Configuration
toml
# ~/.config/ghostty/config
# Font settings
font-family = "JetBrains Mono"
font-size = 14
font-weight = normal
# Window settings
window-width = 120
window-height = 30
window-padding-x = 10
window-padding-y = 10
# Theme
theme = "catppuccin-mocha"
background-opacity = 0.95
# Cursor
cursor-style = block
cursor-style-blink = true
# Shell
shell-integration = true
shell-integration-features = cursor,sudo,title
Custom Keybindings
toml
# Custom keybindings
keybind = cmd+shift+enter=new_split:auto
keybind = cmd+shift+h=new_split:left
keybind = cmd+shift+j=new_split:down
keybind = cmd+shift+k=new_split:up
keybind = cmd+shift+l=new_split:right
# Vim-style split navigation
keybind = cmd+h=goto_split:left
keybind = cmd+j=goto_split:down
keybind = cmd+k=goto_split:up
keybind = cmd+l=goto_split:right
# Quick terminal with custom key
keybind = global:cmd+grave_accent=toggle_quick_terminal
# Text operations
keybind = cmd+shift+c=copy_to_clipboard
keybind = cmd+shift+v=paste_from_clipboard
keybind = cmd+shift+u=copy_url_to_clipboard
Advanced Configuration
toml
# Performance settings
gpu-acceleration = true
renderer = auto
# Terminal behavior
scrollback-limit = 10000
mouse-hide-while-typing = true
confirm-close-surface = false
# Shell integration
shell-integration = true
shell-integration-features = cursor,sudo,title,jump
# Quick terminal settings
quick-terminal = true
quick-terminal-position = top
quick-terminal-screen = main
quick-terminal-animation-duration = 200
# Security
secure-input = false
# Appearance
window-decoration = true
window-theme = auto
macos-non-native-fullscreen = false
Themes and Customization
Built-in Themes
bash
# Popular built-in themes
theme = "catppuccin-mocha"
theme = "dracula"
theme = "gruvbox-dark"
theme = "nord"
theme = "solarized-dark"
theme = "tokyo-night"
theme = "one-dark"
# List all available themes
ghostty +list-themes
# Preview themes (in theme preview interface)
# Press 'c' to copy theme name
# Press '?' for keybinding help
Custom Color Schemes
toml
# Custom colors
background = #1e1e2e
foreground = #cdd6f4
cursor-color = #f5e0dc
# Normal colors
palette = 0=#45475a
palette = 1=#f38ba8
palette = 2=#a6e3a1
palette = 3=#f9e2af
palette = 4=#89b4fa
palette = 5=#f5c2e7
palette = 6=#94e2d5
palette = 7=#bac2de
# Bright colors
palette = 8=#585b70
palette = 9=#f38ba8
palette = 10=#a6e3a1
palette = 11=#f9e2af
palette = 12=#89b4fa
palette = 13=#f5c2e7
palette = 14=#94e2d5
palette = 15=#a6adc8
Productivity Tips
Workflow Optimization
bash
# Use splits for multiple tasks
# Cmd+D for vertical split
# Cmd+Shift+D for horizontal split
# Navigate with Cmd+Option+Arrow
# Quick terminal for temporary tasks
# Cmd+` to toggle
# Perfect for quick commands without opening new window
# Shell integration features
# Automatic title updates
# Sudo password prompts
# Command completion
# Jump between prompts
File Operations
bash
# Write scrollback to file
# Configure with: keybind = cmd+shift+s=write_scrollback_file:paste
# Options: paste, open
# Write screen contents
# keybind = cmd+shift+o=write_screen_file:open
# Write selection to file
# keybind = cmd+shift+w=write_selection_file:paste
Session Management
bash
# Save and restore sessions (via shell integration)
# Automatic working directory restoration
# Command history preservation
# Environment variable restoration
# Use tmux/screen for persistent sessions
# Ghostty integrates well with terminal multiplexers
# Shell integration works with tmux/screen
Troubleshooting
Common Issues
bash
# Terminal appears broken
# Use reset action: Cmd+R (macOS) / Ctrl+Shift+R (Linux)
# Font rendering issues
# Check GPU acceleration: gpu-acceleration = true/false
# Try different renderer: renderer = auto/software/opengl
# Performance issues
# Reduce scrollback: scrollback-limit = 1000
# Disable animations: quick-terminal-animation-duration = 0
# Check GPU acceleration settings
# Configuration not loading
# Check config file location
# Reload config: Cmd+Shift+R (macOS) / Ctrl+Shift+F5 (Linux)
# Check logs for errors
Debug Commands
bash
# Enable debug logging
ghostty --debug
# List all keybindings
ghostty +list-keybinds
# List default keybindings
ghostty +list-keybinds --default
# List available themes
ghostty +list-themes
# Check configuration
ghostty +validate-config
# Version information
ghostty --version
Platform-Specific Features
macOS Features
bash
# Native macOS integration
# - Touch Bar support
# - macOS notifications
# - System appearance integration
# - Secure input mode
# - Quick terminal global access
# macOS-specific shortcuts
Cmd+H # Hide all windows
Cmd+Option+W # Close all windows
Cmd+M # Minimize window
Cmd+` # Quick terminal
# macOS configuration
macos-non-native-fullscreen = false
macos-option-as-alt = true
macos-titlebar-style = transparent
Linux Features
bash
# Linux-specific features
# - Wayland and X11 support
# - libadwaita integration
# - System theme integration
# - Window decoration control
# Linux-specific shortcuts
Ctrl+Shift+F12 # Toggle window decorations
F11 # Toggle fullscreen
Ctrl+Shift+Tab # Tab overview (libadwaita)
# Linux configuration
linux-cgroup = v2
wayland-app-id = com.mitchellh.ghostty
x11-instance-name = ghostty
Integration and Automation
Shell Integration
bash
# Enable shell integration
shell-integration = true
shell-integration-features = cursor,sudo,title,jump
# Features:
# - cursor: Enhanced cursor positioning
# - sudo: Secure sudo password prompts
# - title: Automatic window title updates
# - jump: Jump between command prompts
External Tool Integration
bash
# Works well with:
# - tmux/screen (terminal multiplexers)
# - zsh/bash/fish (modern shells)
# - vim/neovim (text editors)
# - fzf (fuzzy finder)
# - ripgrep/ag (search tools)
# Example fzf integration
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
# Example with ripgrep
alias rg='rg --color=always --line-number --no-heading --smart-case'
Performance Optimization
GPU Acceleration
toml
# Enable GPU acceleration
gpu-acceleration = true
renderer = auto
# Renderer options:
# - auto: Automatic selection
# - software: CPU rendering
# - opengl: OpenGL rendering
# - metal: Metal rendering (macOS)
# - vulkan: Vulkan rendering (Linux)
Memory Management
toml
# Optimize memory usage
scrollback-limit = 10000
image-storage-limit = 320000000
# Reduce memory footprint
background-opacity = 1.0 # Disable transparency
cursor-style-blink = false # Disable cursor blinking
Startup Performance
toml
# Fast startup
window-save-state = never
restore-state = false
# Minimal configuration for speed
theme = builtin
font-family = monospace
Security Features
Secure Input Mode
bash
# Toggle secure input (macOS only)
# Prevents other apps from monitoring input
# Useful for passwords and sensitive data
# Must be manually toggled off
# Configure secure input
secure-input = false # Default state
Configuration Security
bash
# Protect configuration file
chmod 600 ~/.config/ghostty/config
# Use environment variables for sensitive data
# Instead of hardcoding in config file
shell-integration-features = ${GHOSTTY_FEATURES}
Command Line Interface
Basic Commands
bash
# Launch options
ghostty # Default launch
ghostty --help # Show help
ghostty --version # Show version
ghostty --config-file=/path/to/config # Custom config
ghostty --working-directory=/path # Set working directory
# Utility commands
ghostty +list-keybinds # List all keybindings
ghostty +list-keybinds --default # List default keybindings
ghostty +list-themes # List available themes
ghostty +validate-config # Validate configuration
Advanced CLI Usage
bash
# Debug and development
ghostty --debug # Enable debug logging
ghostty --log-level=trace # Set log level
ghostty --renderer=software # Force software rendering
# Profile and benchmark
ghostty --profile # Enable profiling
ghostty --benchmark # Run benchmarks
# Testing and development
ghostty --test-config # Test configuration
ghostty --dry-run # Validate without launching