If this option is not specified, config files are searched for in the order: $XDG_CONFIG_HOME/kitty/kitty.conf, ~/.config/kitty/kitty.conf, $XDG_CONFIG_DIRS/kitty/kitty.conf. The first one that exists is used as the config file.
If the environment variable KITTY_CONFIG_DIRECTORY is specified, that directory is always used and the above searching does not happen.
If /etc/xdg/kitty/kitty.conf exists it is merged before (i.e. with lower priority) than any user config files. It can be used to specify system-wide defaults for all users.
kitty sh -c "kitty --replay-commands /path/to/dump/file; read"
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:
| 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) |
| 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) |
| 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
| 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 |
| Reload kitty.conf | ctrl+shift+f5 (also ^+⌘+f5 on macOS) |
| Debug kitty.conf | ctrl+shift+f6 (also ⌘+option+f6 on macOS) |
| 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 |
See kitty.conf(5)
Kovid Goyal
2022, Kovid Goyal