Skip to main content

Keyboard Shortcuts

Kitty uses a powerful map directive to bind key combinations to actions. Every action kitty can perform is bindable, giving you complete control over your terminal shortcuts.

Core Idea

Every kitty shortcut is a map statement in kitty.conf: map <modifiers>+<key> <action>. The default prefix is ctrl+shift, but you can remap anything.

The Map Directive

~/.config/kitty/kitty.conf
# Syntax: map <key_combo> <action>

# Example defaults
map ctrl+shift+enter new_window
map ctrl+shift+t new_tab
map ctrl+shift+q close_window
map ctrl+shift+left previous_tab
map ctrl+shift+right next_tab

Modifier Keys

Kitty supports these modifiers:

ModifierConfig NameNotes
Controlctrl
Shiftshift
AltaltMay conflict with Alt+letter combos in some apps
Super/WindowssuperMap to cmd on macOS

Combine modifiers with +:

map ctrl+shift+enter new_window
map ctrl+alt+left neighboring_window left
map ctrl+shift+alt+up resize_window taller

Key Names

Kitty uses standard key names:

Key typeNames
Lettersa through z
Numbers0 through 9
Functionf1 through f24
Navigationleft, right, up, down, home, end, page_up, page_down
Editingbackspace, delete, insert, tab, escape, enter
Specialspace, comma, period, semicolon, grave, minus, equal, bracket_left, bracket_right, backslash

Important Default Shortcuts

Window Management

ShortcutAction
Ctrl+Shift+EnterNew window (vertical split)
Ctrl+Shift+Alt+EnterNew window (horizontal split)
Ctrl+Shift+arrowsFocus neighboring window
Ctrl+Shift+Alt+arrowsResize window
Ctrl+Shift+zMaximize/unmaximize window
Ctrl+Shift+qClose window
Ctrl+Shift+wClose window (alternative)

Tab Management

ShortcutAction
Ctrl+Shift+tNew tab
Ctrl+Shift+Alt+tSet tab title
Ctrl+Shift+leftPrevious tab
Ctrl+Shift+rightNext tab
Ctrl+Shift+1-9Switch to tab by number
Ctrl+Shift+,Move tab left
Ctrl+Shift+.Move tab right

Scrolling and Selection

ShortcutAction
Ctrl+Shift+upScroll line up
Ctrl+Shift+downScroll line down
Ctrl+Shift+page_upScroll page up
Ctrl+Shift+page_downScroll page down
Ctrl+Shift+hScroll to top
Ctrl+Shift+endScroll to bottom
Ctrl+Shift+sOpen scrollback browser
Ctrl+Shift+cCopy to clipboard
Ctrl+Shift+vPaste from clipboard

Miscellaneous

ShortcutAction
Ctrl+Shift+F5Reload config
Ctrl+Shift+pOpen command palette
Ctrl+Shift+uUnicode input
Ctrl+Shift+lNext layout
Ctrl+Shift+rStart/stop recording (terminal output)
Ctrl+Shift+oOpen URL under cursor

Discovering Available Actions

# list all available actions from the command line
kitty @ --help | grep -A1 "^ [a-z]"

# or inside kitty: open command palette
Ctrl+Shift+p
# type any action name to see available options

Custom Mappings

~/.config/kitty/kitty.conf
# Remap close to Ctrl+Shift+x instead of q
unmap ctrl+shift+q
map ctrl+shift+x close_window

# Vim-style window navigation (no prefix needed)
map ctrl+alt+h neighboring_window left
map ctrl+alt+j neighboring_window down
map ctrl+alt+k neighboring_window up
map ctrl+alt+l neighboring_window right

# Launch specific commands
map ctrl+shift+m new_window less /var/log/syslog
map ctrl+shift+h new_window htop

# Send text to terminal
map ctrl+shift+d send_text all "date\n"

Unmapping Defaults

To disable a default shortcut before remapping:

unmap ctrl+shift+enter

Using kitty @ to Discover Actions

# show all remote control commands
kitty @ --help

# show help for a specific action
kitty @ resize-window --help

Quick Reference: Most Common Shortcuts

ShortcutAction
Ctrl+Shift+EnterNew vertical window
Ctrl+Shift+Alt+EnterNew horizontal window
Ctrl+Shift+tNew tab
Ctrl+Shift+arrowsFocus window
Ctrl+Shift+Alt+arrowsResize window
Ctrl+Shift+zMaximize window
Ctrl+Shift+qClose window
Ctrl+Shift+lNext layout
Ctrl+Shift+pCommand palette
Ctrl+Shift+F5Reload config

Common Pitfalls

PitfallSymptomFix
Binding conflicts with shell/appShortcut doesn't reach appUse kitty @ from shell, or remap the conflicting key
Modifier super not workingNothing happensOn Linux, super is usually windows key — test with xev
Custom map not taking effectOld behavior persistsCheck for unmap before map, and reload config
Case sensitivity confusionCtrl+Shift+A vs aKey names are lowercase; a means the lowercase a key
Repeated keys not workingmap -r not setAdd --repeat flag for keys meant to be held down

Hands-On Practice

# Add custom shortcuts to your config
cat >> ~/.config/kitty/kitty.conf << 'EOF'

# Vim-style window nav
map ctrl+alt+h neighboring_window left
map ctrl+alt+j neighboring_window down
map ctrl+alt+k neighboring_window up
map ctrl+alt+l neighboring_window right

# Quick launch htop
map ctrl+shift+m new_window htop
EOF

kitty @ load-config

# Test your new bindings inside kitty:
# Ctrl+Alt+h/j/k/l → navigate windows
# Ctrl+Shift+m → open htop in new window

What's Next