Tabs and Windows

kitty is capable of running multiple programs organized into tabs and windows. The top level of organization is the Tab. Each tab consists of one or more windows. The windows can be arranged in multiple different layouts, like windows are organized in a tiling window manager. The keyboard controls (which are all customizable) for tabs and windows are:

Scrolling

Action

Shortcut

Scroll line up

ctrl+shift+up (also ++ and + on macOS)

Scroll line down

ctrl+shift+down (also ++ and + on macOS)

Scroll page up

ctrl+shift+page_up (also + on macOS)

Scroll page down

ctrl+shift+page_down (also + on macOS)

Scroll to top

ctrl+shift+home (also + on macOS)

Scroll to bottom

ctrl+shift+end (also + on macOS)

Tabs

Action

Shortcut

New tab

ctrl+shift+t (also +t on macOS)

Close tab

ctrl+shift+q (also +w on macOS)

Next tab

ctrl+shift+right (also ^+ and ++] on macOS)

Previous tab

ctrl+shift+left (also +^+ and ++[ on macOS)

Next layout

ctrl+shift+l

Move tab forward

ctrl+shift+.

Move tab backward

ctrl+shift+,

Set tab title

ctrl+shift+alt+t (also ++i on macOS)

Windows

Action

Shortcut

New window

ctrl+shift+enter (also + on macOS)

New OS window

ctrl+shift+n (also +n on macOS)

Close window

ctrl+shift+w (also ++d on macOS)

Next window

ctrl+shift+]

Previous window

ctrl+shift+[

Move window forward

ctrl+shift+f

Move window backward

ctrl+shift+b

Move window to top

ctrl+shift+`

Focus specific window

ctrl+shift+1, ctrl+shift+2 ... ctrl+shift+0 (also +1, +2 ... +9 on macOS) (clockwise from the top-left)

Additionally, you can define shortcuts in kitty.conf to focus neighboring windows and move windows around (similar to window movement in vim):

map ctrl+left neighboring_window left
map shift+left move_window right
map ctrl+down neighboring_window down
map shift+down move_window up
...

You can also define a shortcut to switch to the previously active window:

map ctrl+p nth_window -1

nth_window will focus the nth window for positive numbers and the previously active windows for negative numbers.

You can define shortcuts to detach the current window and move it to another tab or another OS window:

# moves the window into a new OS window
map ctrl+f2 detach_window
# moves the window into a new Tab
map ctrl+f3 detach_window new-tab
# asks which tab to move the window into
map ctrl+f4 detach_window ask

Similarly, you can detach the current tab, with:

# moves the tab into a new OS window
map ctrl+f2 detach_tab
# asks which OS Window to move the tab into
map ctrl+f4 detach_tab ask

Finally, you can define a shortcut to close all windows in a tab other than the currently active window:

map f9 close_other_windows_in_tab

Other keyboard shortcuts

Action

Shortcut

Copy to clipboard

ctrl+shift+c (also +c on macOS)

Paste from clipboard

ctrl+shift+v (also +v on macOS)

Paste from selection

ctrl+shift+s

Increase font size

ctrl+shift+equal (also ++ on macOS)

Decrease font size

ctrl+shift+minus (also +- on macOS)

Restore font size

ctrl+shift+backspace (also +0 on macOS)

Toggle fullscreen

ctrl+shift+f11 (also ^++f on macOS)

Toggle maximized

ctrl+shift+f10

Input unicode character

ctrl+shift+u (also ^++space on macOS)

Click URL using the keyboard

ctrl+shift+e

Reset the terminal

ctrl+shift+delete

Pass current selection to program

ctrl+shift+o

Edit kitty config file

ctrl+shift+f2

Open a kitty shell

ctrl+shift+escape

Increase background opacity

ctrl+shift+a>m

Decrease background opacity

ctrl+shift+a>l

Full background opacity

ctrl+shift+a>1

Reset background opacity

ctrl+shift+a>d