kitty.conf(5) kitty kitty.conf(5) (NAME) kitty.conf - kitty (OVERVIEW) kitty . . kitty ctrl+shift+f2 (+, macOS) . kitty.conf . auto_reload_config . ctrl+shift+f5 (++, macOS) SIGUSR1 kitty kill -SIGUSR1 $KITTY_PID . ctrl+shift+f6 (++, macOS) . kitty ( ~/.config/kitty/kitty.conf) kitty --config <#cmdoption-kitty-config> KITTY_CONFIG_DIRECTORY <#envvar-KITTY_CONFIG_DIRECTORY> . kitty --config <#cmdoption-kitty-config> . () # . # . \ . \ . include. include . ${USER}.conf USER=name name.conf . KITTY_OS <#envvar-KITTY_OS> linux macos bsd . globinclude glob envinclude . geninclude . : # other.conf include other.conf # *.conf kitty.d kitty globinclude kitty.d/**/*.conf # KITTY_CONF_ envinclude KITTY_CONF_* # dynamic.py # :file:`STDOUT` . # # . . geninclude dynamic.py (FONTS) kitty . . font_family, bold_font, italic_font, bold_italic_font font_family monospace bold_font auto italic_font auto bold_italic_font auto bold/italic/bold-italic . kitten choose-fonts . <#font-spec-syntax> . font_size font_size 11.0 ( pt). force_ltr force_ltr no kitty (BIDI) (RTL) . RTL "HELLO WORLD" kitty "WORLD HELLO" . . kitty RTL . GNU FriBidi BIDI kitty (LTR) FriBidi . symbol_map . : symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols . Powerline . U+ . . . : symbol_map codepoints Font Family Name narrow_symbols . : narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 (Private Use) /dingbat kitty . kitty ( ) . . : narrow_symbols codepoints [optionally the number of cells] disable_ligatures disable_ligatures never (ligatures). . cursor kitty always . kitty kitty.conf : map alt+1 disable_ligatures_in active always map alt+2 disable_ligatures_in all never map alt+3 disable_ligatures_in tab cursor OpenType calt . font_features . font_features . : font_features none OpenType . kitten choose-fonts . (fallback) . . Fira Code zero (0) O . Fira Code (Stylistic Sets) ss01 ss20 . HarfBuzz : . PostScript (font family). italic regular. FontConfig . PostScript fc-scan file.ttf Font Book macOS . : font_features FiraCode-Retina +zero +onum bold: font_features FiraCode-Bold +zero calt ( ) : font_features TT2020StyleB-Regular -liga +calt force_ltr (shaping) . : font_features UnifontMedium +isol -medi -fina -init modify_font (underline) (strikethrough). px % . pt . : modify_font underline_position -2 modify_font underline_thickness 150% modify_font strikethrough_thickness 200% modify_font strikethrough_position 2px (baseline) . : modify_font cell_width 80% modify_font cell_height -2px modify_font baseline 3 . . . box_drawing_scale box_drawing_scale 0.001, 1, 1.5, 2 (box drawing). pt DPI . . undercurl_style undercurl_style thin-sparse (undercurl). (thin|thick)-(sparse|dense) . Thin thick . Sparse dense . sparse dense . . underline_exclusion underline_exclusion 1 kitty (descender y q p ) . . ( ) px pt . . . text_composition_strategy text_composition_strategy platform kitty. platform (native) kitty . legacy ( kitty 0.28) . . . . . 1.0 macOS 1.7 . 0.01 . (luminance) . 0 100. 0 macOS 30 . 1.0 0 . . . text_fg_override_threshold text_fg_override_threshold 0 . . 0 . : ratio . 0.0 ratio 21.0 ratio . AA WCAG 4.5 ratio . HSLuv . % kitty 0 % 100 %. . : ( ) ( ) . text_fg_override_threshold 0 ratio % . (Text cursor customization) cursor cursor #cccccc . none << >> ("reverse video") . . . . . cursor_text_color cursor_text_color #111111 . background . cursor none . . cursor_shape cursor_shape block block beam underline . . . <#shell- integration> kitty beam . shell_integration no-cursor . cursor_shape_unfocused cursor_shape_unfocused hollow . block beam underline hollow unchanged ( ) . cursor_beam_thickness cursor_beam_thickness 1.5 (beam) (pts). cursor_underline_thickness cursor_underline_thickness 2.0 (underline) (pts). cursor_blink_interval cursor_blink_interval -1 ( ). . . repaint_delay . <#term-easing-function> . 0.5 ease-in-out . : -1 linear ease-out. kitty CSS . . : cursor_stop_blinking_after. . cursor_stop_blinking_after cursor_stop_blinking_after 15.0 . . . cursor_trail cursor_trail 0 << >> ("cursor trail") . <<>> . ( ). . . cursor_trail_decay cursor_trail_start_threshold . cursor_trail_decay cursor_trail_decay 0.1 0.4 cursor_trail . . () () . . . . cursor_trail_start_threshold cursor_trail_start_threshold 2 . . (x) (y) . . . . cursor_trail_color cursor_trail_color none cursor_trail . 'none' () . ( #ff0000 'red') . . (Scrollback) scrollback_lines scrollback_lines 2000 . . . . scrollback_pager_history_size . . scrollbar scrollbar scrolled . scrolled . hovered . scrolled-and-hovered . always . never . scrollbar_interactive scrollbar_interactive yes . scrollbar_jump_on_click scrollbar_jump_on_click yes ( ). scrollbar_width scrollbar_width 0.5 . scrollbar_hover_width scrollbar_hover_width 1 . scrollbar_handle_opacity scrollbar_handle_opacity 0.5 0 1 . scrollbar_radius scrollbar_radius 0.3 () . scrollbar_width . scrollbar_gap scrollbar_gap 0.1 . scrollbar_min_handle_height scrollbar_min_handle_height 1 . . scrollbar_hitbox_expansion scrollbar_hitbox_expansion 0.25 . scrollbar_track_opacity scrollbar_track_opacity 0 0 1 . scrollbar_track_hover_opacity scrollbar_track_hover_opacity 0.1 0 1 . scrollbar_handle_color scrollbar_handle_color foreground . foreground selection_background . #12af59 red . scrollbar_track_color scrollbar_track_color foreground . foreground selection_background . #12af59 red . progress_bar progress_bar top OSC 9;4 . . left right top bottom hidden scrollback_pager scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER . STDIN . ANSI . INPUT_LINE_NUMBER . CURSOR_LINE CURSOR_COLUMN ( ) 0 . neovim : scrollback_pager nvim --cmd 'set eventignore=FileType' +'nnoremap q ZQ' +'call nvim_open_term(0, {})' +'set nomodified nolist' +'$' - neovim 0.12 . kitty-scrollback.nvim neovim . scrollback_pager_history_size scrollback_pager_history_size 0 ( ) (pager) . (pipe) . UTF-8 . . 4GB . . scrollback_fill_enlarged_window scrollback_fill_enlarged_window no . wheel_scroll_multiplier wheel_scroll_multiplier 5.0 . macOS Wayland. . wheel_scroll_min_lines . wheel_scroll_min_lines wheel_scroll_min_lines 1 . scroll multiplier . . . touch_scroll_multiplier touch_scroll_multiplier 1.0 . macOS Wayland . . pixel_scroll pixel_scroll yes kitty ( ). kitty . ( TUI ) . momentum_scroll momentum_scroll 0.96 (). 0 1 0 1 . Wayland . macOS . <<>> . kitty . (MOUSE) mouse_hide_wait mouse_hide_wait 3.0 . . . macOS Cocoa . . : o o . . . . . . . kitty . * . = . . . . . : o 0.0 o 1.0 o -1.0 o 0.1 3.0 40 yes url_color, url_style url_color #0087bd url_style curly (URL) . url_style : none straight double curly dotted dashed. open_url_with open_url_with default . default URL <> URL (open macOS xdg-open Linux) . url_prefixes url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh URL URL . detect_urls detect_urls yes URL . URL . URL . ( URL ) underline_hyperlinks . url_excluded_characters URL URL . URL . ( ). mutt . \n . . show_hyperlink_targets show_hyperlink_targets never URL . ctrl cmd alt shift (Ctrl Super ( macOS Cmd) Shift). URL . always never . underline_hyperlinks underline_hyperlinks hover . (hover) (always) (never kitty ) . always (OSC 8) URL . url_style url_color . always kitty . copy_on_select copy_on_select no . clipboard . macOS (primary selection) . a1 kitty . paste_from_buffer . : copy_on_select a1 map shift+cmd+v paste_from_buffer a1 . clear_selection_on_clipboard_loss clear_selection_on_clipboard_loss no . Linux << >> copy_on_select clipboard . macOS kitty copy_on_select . paste_actions paste_actions quote-urls-at-prompt,confirm . : quote-urls-at-prompt: URL URL ( shell_integration). replace-dangerous-control-codes . replace-newline . confirm: / . confirm-if-large ( 16KB) . filter: filter_paste() paste-actions.py kitty . . no-op: . strip_trailing_spaces strip_trailing_spaces never . smart . always . select_by_word_characters select_by_word_characters @-./_~?&=%+# . - . select_by_word_characters_forward . - . () select_by_word_characters . click_interval click_interval -1.0 / ( ). 0.5 . focus_follows_mouse focus_follows_mouse no . . drop (drag and drop) . macOS kitty . pointer_shape_when_grabbed pointer_shape_when_grabbed arrow (grab). default_pointer_shape default_pointer_shape beam . pointer_shape_when_dragging pointer_shape_when_dragging beam crosshair . . drag_threshold drag_threshold 5 (drag and drop) . . . ( toggle_window_title_bars <#action-toggle_window_title_bars> ) . . Wayland . xdg-toplevel-drag . (Mouse actions) . : mouse_map button-name event-type modes action button-name left middle right b1 ... b8 . : ctrl+shift+left Ctrl+Shift . b1 ... b8 . event-type press release doublepress triplepress click doubleclick . modes (grabbed) . grabbed ungrabbed . grabbed . click_interval . kitty kitty --debug-input <#cmdoption-kitty-debug-input> . . . URL : mouse_map left click ungrabbed <>. : (release) . clear_all_mouse_actions clear_all_mouse_actions no . . mouse_map left click ungrabbed mouse_handle_click selection link prompt . . (shell prompt) . <#shell- integration> . mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt (grabbed) . mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link Ctrl+Shift click_interval . mouse_map ctrl+shift+left press grabbed discard_event (press) (release) URL . mouse_map middle release ungrabbed paste_from_selection mouse_map left press ungrabbed mouse_selection normal URL normal drag_or_normal_select drag_threshold . mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle mouse_map left doublepress ungrabbed mouse_selection word mouse_map left triplepress ungrabbed mouse_selection line mouse_map alt+left triplepress ungrabbed mouse_selection line_from_begin mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point . line_from_point word_and_line_from_point . mouse_map right press ungrabbed mouse_selection extend extend move-end . shift mouse_map shift+left press ungrabbed mouse_selection extend extend move-end . mouse_map shift+middle release ungrabbed,grabbed paste_selection mouse_map shift+middle press grabbed discard_event mouse_map shift+left press grabbed mouse_selection normal mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line mouse_map shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_begin mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point . line_from_point word_and_line_from_point . mouse_map shift+right press ungrabbed,grabbed mouse_selection extend mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output <#shell- integration> . (PERFORMANCE TUNING) repaint_delay repaint_delay 10 ( ). (FPS) CPU . . FPS sync_to_monitor no . . input_delay input_delay 3 ( ). CPU kitty . . sync_to_monitor sync_to_monitor yes . . . . no . (TERMINAL BELL) enable_audio_bell enable_audio_bell yes . . visual_bell_duration visual_bell_duration 0.0 ( ). . . . <#term-easing-function> . 2.0 linear . ease-in-out . : 2.0 ease-in linear. kitty CSS . visual_bell_color visual_bell_color none . none . . window_alert_on_bell window_alert_on_bell yes . dock macOS . bell_on_tab bell_on_tab " " . . tab_title_template . yes y true no n false none . command_on_bell command_on_bell none . KITTY_CHILD_CMDLINE <#envvar-KITTY_CHILD_CMDLINE> . macos_dock_badge_on_bell macos_dock_badge_on_bell yes dock kitty kitty ( macOS). kitty . bell_path bell_path none . none . API WAV OGA (libcanberra) AIFF MP3 WAV macOS (NSSound). kitty . linux_bell_theme linux_bell_theme __custom XDG kitty . Wayland . Hyprland . XDG : [Sound Theme] Inherits=name-of-the-sound-theme-you-want-to-use name-of-the-sound-theme-you-want-to-use . . (WINDOW LAYOUT) remember_window_size, initial_window_width, initial_window_height remember_window_size yes initial_window_width 640 initial_window_height 400 (OS Window) <#term- os_window> kitty . initial_window_width/height . "c" / . Wayland . remember_window_position remember_window_position no (OS Window) <#term- os_window> kitty . . / . Wayland . kitty kitty --position <#cmdoption-kitty-position> . enabled_layouts enabled_layouts * . . all . . . Layouts <# layouts> . window_resize_step_cells, window_resize_step_lines window_resize_step_cells 2 window_resize_step_lines 2 ( / ) kitty ctrl+shift+r. cells lines . window_border_width window_border_width 0.5pt . (px) (pt) . pt . pt . . . draw_minimal_borders draw_minimal_borders yes . . window_margin_width . draw_window_borders_for_single_window draw_window_borders_for_single_window no . ( draw_minimal_borders false ). . kitty . . window_margin_width window_margin_width 0 ( pt) ( ). . . . . single_window_margin_width single_window_margin_width -1 ( pt). window_margin_width . . . . . window_padding_width window_padding_width 0 ( pt) ( ). . . . . single_window_padding_width single_window_padding_width -1 ( pt). window_padding_width . . . . . placement_strategy placement_strategy center . . center . top-left . : top-left top top-right left center right bottom-left bottom bottom-right. active_border_color active_border_color #00ff00 . none . inactive_border_color inactive_border_color #cccccc . bell_border_color bell_border_color #ff5a00 . inactive_text_alpha inactive_text_alpha 1.0 . -1 1 . . . kitty . . kitty . hide_window_decorations hide_window_decorations no ( ) yes. macOS titlebar-only titlebar-and-corners . Wayland titlebar-only . ( GNOME) yes titlebar-only . / . . titlebar-only macOS window_margin_width placement_strategy titlebar-and-corners . window_logo_path window_logo_path none (). PNG/JPEG/WEBP/GIF/TIFF/BMP . kitty . kitty . window_logo_position . launch <# action-launch> <> . window_logo_position window_logo_position bottom-right . : top-left top top-right left center right bottom-left bottom bottom-right. window_logo_alpha window_logo_alpha 0.5 . . window_logo_scale window_logo_scale 0 (0-100] . . . . () . resize_debounce_time resize_debounce_time 0.1 0.5 ( ) kitty . macOS kitty . . kitty "" . resize_in_steps resize_in_steps no . initial_window_width initial_window_height . Wayland . visual_window_select_characters visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ . ctrl+shift+f7. 0-9A-Z`-=[];',./\ . . confirm_os_window_close confirm_os_window_close -1 kitty ( ) close_tab <#action-close_tab>. . ( quit <# action-quit>) . shell_integration . count-background : -1 count-background. close_window_with_confirmation <#action- close_window_with_confirmation> . window_drag_tolerance window_drag_tolerance 2 kitty. pt . -200 . kitty // . window_title_bar window_title_bar top . window_title_bar_min_windows . window_title_template . window_title_bar_min_windows window_title_bar_min_windows 0 . 0 . 1 . 2 . tab_bar_min_tabs . window_title_template window_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.window}{progress_percent}{title}" . tab_title_template . : {title} {bell_symbol} {activity_symbol} {progress_percent} {custom} {fmt} {is_active}. draw_window_title(data) window_title_bar.py kitty {custom} . active_window_title_template active_window_title_template none . ( none) window_title_template . window_title_bar_active_foreground window_title_bar_active_foreground none () . none (active_tab_foreground) . window_title_bar_active_background window_title_bar_active_background none . none (active_tab_background) . window_title_bar_inactive_foreground window_title_bar_inactive_foreground none () . none (inactive_tab_foreground) . window_title_bar_inactive_background window_title_bar_inactive_background none . none (inactive_tab_background) . window_title_bar_align window_title_bar_align center . (TAB BAR) tab_bar_edge tab_bar_edge bottom : top bottom left right. tab_bar_margin_width tab_bar_margin_width 0.0 ( pt). . . tab_bar_margin_height tab_bar_margin_height 0.0 0.0 ( pt). . . tab_bar_style tab_bar_style fade : fade . ( tab_fade ) slant . separator . ( tab_separator ) powerline . ( tab_powerline_style ) custom draw_tab tab_bar.py kitty . draw_tab_with_* kitty : kitty/tab_bar.py. kitty . hidden . select_tab <#action-select_tab> . tab_bar_filter <#search-syntax>. . . tab_bar_min_tabs . <#sessions> . session:~ or session:^$ . goto_tab <#action-goto_tab> next_tab <#action-next_tab> previous_tab <#action-previous_tab> . tab_bar_align tab_bar_align start : start center end left right. left right start end . tab_bar_show_new_tab_button tab_bar_show_new_tab_button no yes + . no () (drag) . tab_bar_min_tabs tab_bar_min_tabs 2 . tab_switch_strategy tab_switch_strategy previous . previous . left . right . last . tab_fade tab_fade 0.25 0.5 0.75 1 fade tab_bar_style. ( ) . / . tab_separator tab_separator " " separator tab_bar_style. tab_powerline_style tab_powerline_style angled powerline powerline tab_bar_style : angled slanted round. tab_activity_symbol tab_activity_symbol none . . tab_title_template . tab_title_max_length tab_title_max_length 0 . . kitty . tab_title_template tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{secure_input_symbol}{fmt.fg.tab}{tab.last_focused_progress_percent}{title}" . . (index) {index}:{title} . goto_tab N . {sup.index} . : title . index goto_tab N <#action-goto_tab>. layout_name . session_name kitty ( ). active_session_name kitty ( ). num_windows . num_window_groups ( ) . secure_input_symbol secure input macOS . tab.active_wd ( ). tab.active_oldest_wd . tab.active_exe ( ). tab.active_oldest_exe . max_title_length . keyboard_mode <#modal-mappings> . tab.last_focused_progress_percent . . tab.progress_percent . . tab.children_mem_usage . custom draw_title(data) tab_bar.py kitty . . . : tab_title_template "{custom}" . draw_title() STDOUT kitty . {layout_name[:2].upper()} . : {fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}. : {fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}. fmt.fg.color0 fmt.fg.color255 . {bell_symbol} {activity_symbol} . active_tab_title_template active_tab_title_template none . tab_title_template . active_tab_foreground, active_tab_background, active_tab_font_style, inactive_tab_foreground, inactive_tab_background, inactive_tab_font_style active_tab_foreground #000 active_tab_background #eee active_tab_font_style bold-italic inactive_tab_foreground #444 inactive_tab_background #999 inactive_tab_font_style normal . tab_bar_background tab_bar_background none . . tab_bar_margin_color tab_bar_margin_color none . . . (COLOR SCHEME) foreground, background foreground #dddddd background #000000 . background_opacity background_opacity 1.0 (opacity) . . ( X11). (cells) vim powerline . . kitty . (escape codes) . transparent_background_colors . 1.0 ( ) . background . background_image ( ) . . dynamic_background_opacity yes ( ). dynamic_background_opacity . background_blur background_blur 0 (blur ) . background_opacity . macOS ( ) . / . 64 . . macOS Wayland ( background blur ) . transparent_background_colors (opacity). . ( ) . The kitty color control <#id1> . color@opacity @opacity . background_opacity . : transparent_background_colors red@0.5 #00ff00@0.3 background_opacity . dynamic_background_opacity dynamic_background_opacity no background_opacity (ctrl+shift+a>m ctrl+shift+a>l) . . background_image background_image none (glob) . PNG/JPEG/WEBP/TIFF/GIF/BMP . . ( ) VRAM . set-background-image kitten set-background-image --help . : map f1 remote_control set-background-image +1. Change color themes automatically when the OS switches between light and dark <#auto-color- scheme> . background_image_layout background_image_layout tiled (tile) (scale) . tiled mirror-tiled scaled clamped centered cscaled . scaled cscaled cscaled . Change color themes automatically when the OS switches between light and dark <#auto-color- scheme> . background_image_linear background_image_linear no (linear interpolation) . Change color themes automatically when the OS switches between light and dark <#auto-color-scheme> . background_tint background_tint 0.0 (tint) . . . background_image . Change color themes automatically when the OS switches between light and dark <#auto-color- scheme> . background_tint_gaps background_tint_gaps 1.0 (gaps) background_tint. background_tint (separated) . Change color themes automatically when the OS switches between light and dark <#auto-color-scheme> . dim_opacity dim_opacity 0.4 DIM/FAINT . (). selection_foreground, selection_background selection_foreground #000000 selection_background #fffacd . none " (reverse video)" . selection_foreground none . . palette_generate palette_generate fixed ( none ). (legacy) . kitty . semantic . legacy . (THE COLOR TABLE) . . color16 color255 . color0, color8 color0 #000000 color8 #767676 color1, color9 color1 #cc0403 color9 #f2201f color2, color10 color2 #19cb00 color10 #23fd00 color3, color11 color3 #cecb00 color11 #fffd00 color4, color12 color4 #0d73cc color12 #1a8fff color5, color13 color5 #cb1ed1 color13 #fd28ff color6, color14 color6 #0dcdcd color14 #14ffff color7, color15 color7 #dddddd color15 #ffffff mark1_foreground mark1_foreground black (marks) mark1_background mark1_background #98d3cb ( ) mark2_foreground mark2_foreground black mark2_background mark2_background #f2dcd3 () mark3_foreground mark3_foreground black mark3_background mark3_background #f274bc () (Wide gamut color formats) kitty OKLCH CIE LAB . (foreground background color0-color255 ) . Wide gamut color formats <> . (ADVANCED) shell shell . . . SHELL <#envvar-SHELL> . macOS --login --interactive rc . . editor editor . ( vim nano) kitty . . VISUAL <#envvar-VISUAL> EDITOR <#envvar-EDITOR> . kitty shell ($SHELL -l -i -c env) rc VISUAL <#envvar-VISUAL> EDITOR <#envvar-EDITOR> . kitty (vim emacs ) . close_on_child_death close_on_child_death no ( ). no ( disown ) . yes . yes stdout/stderr/stdin . remote_control_password kitty . . kitty . . : remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab . : remote_control_password "my passphrase" set-tab-* resize-* : kitten @ --help . : remote_control_password "" *-colors python is_cmd_allowed . : remote_control_password "my passphrase" my_rc_command_checker.py kitty . Customizing authorization with your own program <#rc-custom-auth> . allow_remote_control allow_remote_control no kitty. kitty kitty . SSH . no . : password TTY remote_control_password . socket-only . TTY . listen_on . socket . TTY . no . yes . listen_on listen_on none . kitty . kitty --listen-on <#cmdoption-kitty-listen-on> . UNIX unix:${TEMP}/mykitty unix:@mykitty ( Linux). . {kitty_pid} PID kitty PID kitty . TCP tcp:localhost:0 . kitty --listen-on <#cmdoption-kitty-listen-on> . allow_remote_control yes socket socket-only . . env . ( env VAR=) . ( env VAR) . : env VAR1=a env VAR2=${HOME}/${VAR1}/b VAR2 /a/b . read_from_shell kitty login shell . kitty kitty . . : env read_from_shell=PATH LANG LC_* XDG_* EDITOR VISUAL. env . filter_notification kitty. . field:regexp . title body app type . all . . : filter_notification title:hello or body:"abc.*def" # vim (?i) # . filter_notification app:"[ng]?vim" and not body:"(?i)update" # filter_notification all app type . . notifications.py kitty (~/.config/kitty) . . watcher python Watching launched windows <#watchers> . . kitty . kitty . . exe_search_path kitty . : PATH ~/.local/bin ~/bin. PATH login shell . PATH env . . . . + ~/bin . - . : exe_search_path /some/prepended/path exe_search_path +/some/appended/path exe_search_path -/some/excluded/path update_check_interval update_check_interval 24 kitty ( ). . . . . . auto_reload_config auto_reload_config 0.1 . . (debounce) . . ctrl+shift+f5 . kitty kitty.conf . . startup_session startup_session none kitty. kitty --session <#cmdoption-kitty-session> =none . Sessions <#sessions> kitty . kitty . . . kitty . clipboard_control clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask kitty . . : write-clipboard read-clipboard write-primary read-primary read-clipboard-ask read-primary-ask. . SSH . clipboard_max_size . clipboard_max_size clipboard_max_size 512 ( ) kitty . . clipboard_control . file_transfer_confirmation_bypass file transfer kitten <> . /. allow_hyperlinks allow_hyperlinks yes (hyperlink <#term-hyperlinks>) ( OSC 8). OSC 8 . hints kitten <> . ask kitty . shell_integration shell_integration enabled . . disabled . : no-rc no-cursor no-title no-cwd no-prompt-mark no-complete no-sudo. Shell integration <#shell-integration> . allow_cloning allow_cloning ask . clone-in-kitty <#clone-shell> . kitty . ( SSH) . clone_source_strategies clone_source_strategies venv,conda,env_var,path clone-in-kitty . : venv $VIRTUAL_ENV/bin/activate. venv Python venv . conda conda activate $CONDA_DEFAULT_ENV. conda . env_var KITTY_CLONE_SOURCE_CODE <#envvar- KITTY_CLONE_SOURCE_CODE> eval. path KITTY_CLONE_SOURCE_PATH <# envvar-KITTY_CLONE_SOURCE_PATH> . . . notify_on_cmd_finish notify_on_cmd_finish never ( shell_integration). : never . unfocused . invisible ( ). always . : . . . : invisible 15. . . notify . : notify . . : focus next. focus unfocused invisible . next . : focus next. bell . notify-bell . notify . command . . : # notify_on_cmd_finish unfocused # notify_on_cmd_finish invisible 10.0 # notify_on_cmd_finish invisible 10.0 bell # 'notify-send' # %c %s notify_on_cmd_finish invisible 10.0 command notify-send "job finished with status: %s" %c # notify_on_cmd_finish invisible 5.0 notify term term xterm-kitty TERM <#envvar-TERM> . <> . TERM <#envvar-TERM> . . . terminfo_type terminfo_type path TERMINFO <#envvar- TERMINFO> . terminfo . path kitty terminfo kitty . direct . . . none . forward_stdio forward_stdio no STDOUT STDERR kitty . STDOUT kitty . echo hello world >&$KITTY_STDIO_FORWARDED STDOUT kitty . KITTY_STDIO_FORWARDED=fdnum . macOS login getlogin() . menu_map kitty. macOS . : menu_map global "Actions::Launch something special" launch --hold --type=os-window sh -c "echo hello world" <> <> macOS . :: . (OS SPECIFIC TWEAKS) wayland_titlebar_color wayland_titlebar_color system kitty Wayland GNOME. system background kitty #12af59 red . macos_titlebar_color macos_titlebar_color system kitty macOS. system light dark . background #12af59 red . / <#auto- color-scheme> . macos_option_as_alt macos_option_as_alt no Option Alt macOS. no kitty macOS Option+Key . Alt+Key macOS . : left right both Option Alt . kitty Option Alt . kitty Option+Key Alt+Key . kitty Option/Alt+Key kitty . . macos_hide_from_tasks macos_hide_from_tasks no kitty macOS (+Tab ). . macos_quit_when_last_window_closed macos_quit_when_last_window_closed no kitty (top-level) macOS . kitty macOS . macos_window_resizable macos_window_resizable yes kitty macOS . macos_thicken_font macos_thicken_font 0 macOS. 0.75 sub-pixel antialiasing . kitty ( ). text_composition_strategy . macos_traditional_fullscreen macos_traditional_fullscreen no macOS . macos_fullscreen_ignore_safe_area_insets macos_fullscreen_ignore_safe_area_insets no macos_traditional_fullscreen (safe area insets) . kitty . macos_use_physical_screen_frame macos_use_physical_screen_frame no macOS kitty +kitten panel. . macos_ns_window_layer . macos_ns_window_layer macos_ns_window_layer unset NSWindow macOS panel kitten <>. unset . AppKit/CoreGraphics . : NSFloatingWindowLevel kCGBackstopMenuLevel NSPopUpMenuWindowLevel - 1. :macos_use_physical_screen_frame` . macos_show_window_title_in macos_show_window_title_in all macOS. window macOS . menubar macOS . all none . macos_menubar_title_max_length . macos_menubar_title_max_length macos_menubar_title_max_length 0 macOS. . macos_custom_beam_cursor macos_custom_beam_cursor no macOS . macOS . : (dual GPU) . . macos_colorspace macos_colorspace srgb . srgb . default . displayp3 Display P3 () . . linux_display_server linux_display_server auto Wayland X11. . x11 wayland . . wayland_enable_ime wayland_enable_ime yes (IME) Wayland. . Wayland . . (KEYBOARD SHORTCUTS) . : a A [ . Enter Escape <#functional> . (modifier) : ctrl (control ) shift () alt (opt option ) super (cmd command ). map . (modal) Making your keyboard dance <> . : # kitty map kitty_mod+space # map ctrl+alt+f1 discard_event # map kitty_mod+e combine : new_window : next_layout # map ctrl+x>ctrl+y>z action ( ) --allow-fallback . : shifted ( -- shift) ascii ( / ASCII) none ( ) . --allow-fallback=shifted,ascii : map --allow-fallback=shifted,ascii kitty_mod+c copy_to_clipboard ctrl+shift+f3 . <> . kitty_mod kitty_mod ctrl+shift (modifier) . kitty_mod . clear_all_shortcuts clear_all_shortcuts no . . map_timeout map_timeout 0.0 ( ) modal . () . . --timeout --new-mode . : # map_timeout 2.0 # ( ) map --new-mode resize --timeout 5.0 kitty_mod+r action_alias . : action_alias launch_tab launch --type=tab --cwd=current . . : map f1 launch_tab vim map f2 launch_tab emacs kitten: action_alias hints kitten hints --hints-offset=0 kitten_alias . : kitten_alias hints hints --hints-offset=0 action_alias kitten. action_alias . . kitten . kitten hints --hints-offset=0 <#cmdoption-kitty-kitten-hints-hints-offset> . (Clipboard) map --allow-fallback=shifted,ascii ctrl+shift+c copy_to_clipboard copy_or_interrupt <#action- copy_or_interrupt> Ctrl+C . (interrupt) . copy_and_clear_or_interrupt <#action- copy_and_clear_or_interrupt> . copy_or_noop <#action-copy_or_noop> . map --allow-fallback=shifted,ascii cmd+c copy_or_noop map --allow-fallback=shifted,ascii ctrl+shift+v paste_from_clipboard map --allow-fallback=shifted,ascii cmd+v paste_from_clipboard map --allow-fallback=shifted,ascii ctrl+shift+s paste_from_selection map shift+insert paste_from_selection map --allow-fallback=shifted,ascii ctrl+shift+o pass_selection_to_program pass_selection_to_program <#action-pass_selection_to_program> . open . : map kitty_mod+o pass_selection_to_program firefox @selection kitty : map kitty_mod+y new_window less @selection (Scrolling) map ctrl+shift+up scroll_line_up smooth map --allow-fallback=shifted,ascii ctrl+shift+k scroll_line_up smooth map opt+cmd+page_up scroll_line_up smooth map cmd+up scroll_line_up smooth map ctrl+shift+down scroll_line_down smooth map --allow-fallback=shifted,ascii ctrl+shift+j scroll_line_down smooth map opt+cmd+page_down scroll_line_down smooth map cmd+down scroll_line_down smooth map ctrl+shift+page_up scroll_page_up map cmd+page_up scroll_page_up map ctrl+shift+page_down scroll_page_down map cmd+page_down scroll_page_down map ctrl+shift+home scroll_home map cmd+home scroll_home map ctrl+shift+end scroll_end map cmd+end scroll_end map --allow-fallback=shifted,ascii ctrl+shift+z scroll_to_prompt -1 0 scroll_to_prompt <#action- scroll_to_prompt> . shell integration <#shell-integration> . map --allow-fallback=shifted,ascii ctrl+shift+x scroll_to_prompt 1 map --allow-fallback=shifted,ascii ctrl+shift+h show_scrollback STDIN launch --stdin-source <#cmdoption-launch-stdin-source> (pipe) . less overlay <#term-overlay> : map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R launch <> . map --allow-fallback=shifted,ascii ctrl+shift+g show_last_command_output . : map f1 show_first_command_output_on_screen : map f1 show_last_visited_command_output launch <#action-launch> . less overlay <#term-overlay> : map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R @first_cmd_output_on_screen . @last_visited_cmd_output . shell integration <#shell-integration> . map ctrl+shift+/ search_scrollback map --allow-fallback=shifted,ascii cmd+f search_scrollback scrollback_pager . / . : map f1 combine : launch <--stdin-source=@screen_scrollback> --stdin-add-formatting --type=overlay mypager : send_key / remote_control_script <#action- remote_control_script> . (Window management) map ctrl+shift+enter new_window map cmd+enter new_window kitty <#term-window> : map kitty_mod+y launch mutt : map ctrl+alt+enter launch --cwd=current kitty kitty launch --allow-remote-control <#cmdoption-launch-allow-remote-control>. kitty . : map ctrl+enter launch --allow-remote-control some_program : map ctrl+n launch --location=neighbor map ctrl+f launch --location=first launch <> . map --allow-fallback=shifted,ascii ctrl+shift+n new_os_window map --allow-fallback=shifted,ascii cmd+n new_os_window new_window <#action-new_window> <#term-os_window> . new_os_window_with_cwd <#action-new_os_window_with_cwd> . map --allow-fallback=shifted,ascii ctrl+shift+w close_window map --allow-fallback=shifted,ascii shift+cmd+d close_window map ctrl+shift+] next_window map ctrl+shift+[ previous_window map --allow-fallback=shifted,ascii ctrl+shift+f move_window_forward map --allow-fallback=shifted,ascii ctrl+shift+b move_window_backward map ctrl+shift+` move_window_to_top map --allow-fallback=shifted,ascii ctrl+shift+r start_resizing_window map --allow-fallback=shifted,ascii cmd+r start_resizing_window map ctrl+shift+1 first_window map cmd+1 first_window map ctrl+shift+2 second_window map cmd+2 second_window map ctrl+shift+3 third_window map cmd+3 third_window map ctrl+shift+4 fourth_window map cmd+4 fourth_window map ctrl+shift+5 fifth_window map cmd+5 fifth_window map ctrl+shift+6 sixth_window map cmd+6 sixth_window map ctrl+shift+7 seventh_window map cmd+7 seventh_window map ctrl+shift+8 eighth_window map cmd+8 eighth_window map ctrl+shift+9 ninth_window map cmd+9 ninth_window map ctrl+shift+0 tenth_window map ctrl+shift+f7 focus_visible_window . . visual_window_select_characters . map ctrl+shift+f8 swap_with_window focus_visible_window <#action-focus_visible_window> . (Tab management) map ctrl+shift+right next_tab map shift+cmd+] next_tab map ctrl+tab next_tab map ctrl+shift+left previous_tab map shift+cmd+[ previous_tab map ctrl+shift+tab previous_tab map --allow-fallback=shifted,ascii ctrl+shift+t new_tab map --allow-fallback=shifted,ascii cmd+t new_tab map --allow-fallback=shifted,ascii ctrl+shift+q close_tab map --allow-fallback=shifted,ascii cmd+w close_tab map --allow-fallback=shifted,ascii shift+cmd+w close_os_window map ctrl+shift+. move_tab_forward map ctrl+shift+, move_tab_backward map --allow-fallback=shifted,ascii ctrl+shift+alt+t set_tab_title map --allow-fallback=shifted,ascii shift+cmd+i set_tab_title <#term-tab> 1 2 -1 -2 . : map ctrl+alt+1 goto_tab 1 map ctrl+alt+2 goto_tab 2 new_window <#action-new_window> new_tab <#action-new_tab> new_tab_with_cwd <#action- new_tab_with_cwd> . : map ctrl+t new_tab !neighbor [optional cmd to run] (Layout management) map --allow-fallback=shifted,ascii ctrl+shift+l next_layout <#term-layout> : map ctrl+alt+t goto_layout tall map ctrl+alt+s goto_layout stack : map ctrl+alt+p last_used_layout toggle_layout <#action-toggle_layout> . stack : map ctrl+alt+z toggle_layout stack (Font sizes) kitty . map ctrl+shift+equal change_font_size all +2.0 map ctrl+shift+plus change_font_size all +2.0 map ctrl+shift+kp_add change_font_size all +2.0 map cmd+plus change_font_size all +2.0 map cmd+equal change_font_size all +2.0 map shift+cmd+equal change_font_size all +2.0 map ctrl+shift+minus change_font_size all -2.0 map ctrl+shift+kp_subtract change_font_size all -2.0 map cmd+minus change_font_size all -2.0 map shift+cmd+minus change_font_size all -2.0 map ctrl+shift+backspace change_font_size all 0 map cmd+0 change_font_size all 0 : map kitty_mod+f6 change_font_size all 10.0 : map kitty_mod+f6 change_font_size current 10.0 / : map kitty_mod+f6 change_font_size all *2.0 map kitty_mod+f6 change_font_size all /2.0 (Select and act on visible text) hints kitten . URL map --allow-fallback=shifted,ascii ctrl+shift+e open_url_with_hints URL . URL open_url_with . map --allow-fallback=shifted,ascii ctrl+shift+p>f kitten hints --type path --program - / . git git . map --allow-fallback=shifted,ascii ctrl+shift+p>shift+f kitten hints --type path / . map --allow-fallback=shifted,ascii ctrl+shift+p>c kitten choose-files choose-files <> . map --allow-fallback=shifted,ascii ctrl+shift+p>d kitten choose-files --mode=dir choose-files <> . map --allow-fallback=shifted,ascii ctrl+shift+p>l kitten hints --type line --program - . : ls -1 . map --allow-fallback=shifted,ascii ctrl+shift+p>w kitten hints --type word --program - . map --allow-fallback=shifted,ascii ctrl+shift+p>h kitten hints --type hash --program - . git SHA1 . map --allow-fallback=shifted,ascii ctrl+shift+p>n kitten hints --type linenum filename:linenum . map --allow-fallback=shifted,ascii ctrl+shift+p>y kitten hints --type hyperlink <#term-hyperlinks> ( URL ls --hyperlink=auto). hints kitten . hints kitten <> . (Miscellaneous) map ctrl+shift+f1 show_kitty_doc overview map ctrl+shift+f3 command_palette map ctrl+shift+f11 toggle_fullscreen map --allow-fallback=shifted,ascii ctrl+cmd+f toggle_fullscreen map ctrl+shift+f10 toggle_maximized macOS map --allow-fallback=shifted,ascii opt+cmd+s toggle_macos_secure_keyboard_entry macOS map cmd+` macos_cycle_through_os_windows macOS map cmd+shift+` macos_cycle_through_os_windows_backwards map --allow-fallback=shifted,ascii ctrl+shift+u kitten unicode_input map ctrl+cmd+space kitten unicode_input map ctrl+shift+f2 edit_config_file map cmd+, edit_config_file kitty map ctrl+shift+escape kitty_shell window kitty window / tab / overlay / os_window kitty . map --allow-fallback=shifted,ascii ctrl+shift+a>m set_background_opacity +0.1 map --allow-fallback=shifted,ascii ctrl+shift+a>l set_background_opacity -0.1 map --allow-fallback=shifted,ascii ctrl+shift+a>1 set_background_opacity 1 map --allow-fallback=shifted,ascii ctrl+shift+a>d set_background_opacity default map ctrl+shift+delete clear_terminal reset active map opt+cmd+r clear_terminal reset active / . : # map f1 clear_terminal reset active # map f1 clear_terminal clear active # (scrollback) map f1 clear_terminal scrollback active # scrollback map f1 clear_terminal scroll active # ( ) map f1 clear_terminal to_cursor active # scrollback map f1 clear_terminal to_cursor_scroll active # ( ) map f1 clear_terminal last_command active kitty active all . rc : clear-only-screen() { printf "\e[H\e[2J" } clear-screen-and-scrollback() { printf "\e[H\e[3J" } clear-screen-saving-contents-in-scrollback() { printf "\e[H\e[22J" } Ctrl+L scrollback . ZSH ~/.zshrc : ctrl_l() { builtin print -rn -- $'\r\e[0J\e[H\e[22J' >"$TTY" builtin zle .reset-prompt builtin zle -R } zle -N ctrl_l bindkey '^l' ctrl_l map ctrl+l clear_terminal to_cursor_scroll active kitty.conf rc . map cmd+k clear_terminal to_cursor active scrollback map option+cmd+k clear_terminal scrollback active map cmd+l clear_terminal last_command active map cmd+ctrl+l clear_terminal to_cursor_scroll active kitty.conf map ctrl+shift+f5 load_config_file map ctrl+cmd+, load_config_file kitty.conf . kitty . macOS . : map f5 load_config /path/to/alternative/kitty.conf kitty.conf . kitty map ctrl+shift+f6 debug_config map opt+cmd+, debug_config kitty . . kitty (UTF-8) . : map ctrl+alt+a send_text all Special text Ctrl+Alt+A "Special text" . ANSI C \e \u21fb ( UTF-8 ). kitten show-key . send_text . normal application kitty . normal application DECCKM kitty kitty . all . : # ( Home) map ctrl+alt+a send_text normal Word\e[H map ctrl+alt+a send_text application Word\eOH # ( Enter) map ctrl+alt+a send_text normal,application some command with arguments\r kitty map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty kitty macOS map cmd+h hide_macos_app macOS map opt+cmd+h hide_macos_other_apps macOS map cmd+m minimize_macos_window kitty map cmd+q quit kitty.conf (SAMPLE KITTY.CONF) ctrl+shift+f2 kitty kitty.conf . . kitty.conf . : kitty +runpy 'from kitty.config import *; print(commented_out_default_config())' STDOUT . (ALL MAPPABLE ACTIONS) |kitty| <>. (Mappable actions) map mouse_map kitty.conf . . Making your keyboard dance <> . ctrl+shift+f3 <#shortcut-kitty.Command-palette> <> (Command palette) . / (Copy/paste) clear_selection copy_and_clear_or_interrupt SIGINT ( ctrl+c) copy_ansi_to_clipboard ANSI copy_last_command_output <#shell-integration> copy_or_interrupt SIGINT ( ctrl+c) copy_or_noop . : cmd+c <#shortcut-kitty.Copy-to-clipboard-or-pass-through> copy_selection_or_last_command_output ( ) copy_to_clipboard : ctrl+shift+c <#shortcut-kitty.Copy-to-clipboard> pass_selection_to_program : ctrl+shift+o <#shortcut-kitty.Pass-selection-to-program> paste . ANSI C . copy_to_buffer Multiple copy/paste buffers <#cpbuf> . paste_from_buffer Multiple copy/paste buffers <#cpbuf> . paste_from_clipboard : ctrl+shift+v <#shortcut-kitty.Paste-from-clipboard> paste_from_selection (primary selection) : ctrl+shift+s <#shortcut-kitty.Paste-from-selection> (Debugging) dump_lines_with_attrs + close_shared_ssh_connections SSH share_connections <#opt-kitten- ssh.share_connections> . debug_config kitty : ctrl+shift+f6 <#shortcut-kitty.Debug-kitty-configuration> show_kitty_env_vars kitty simulate_color_scheme_preference_change test_dragging mouse_map (Font sizes) change_font_size Font sizes <#conf-kitty- shortcuts-fonts> . : ctrl+shift+minus <#shortcut-kitty.Decrease-font-size>, ctrl+shift+equal <#shortcut-kitty.Increase-font-size>, ctrl+shift+backspace <#shortcut- kitty.Reset-font-size> (Layouts) goto_layout . : map f1 goto_layout tall map f2 goto_layout fat:bias=20 last_used_layout layout_action . Arrange windows <> next_layout . . : ctrl+shift+l <#shortcut-kitty.Next-layout> toggle_layout . "" stack . scrollback_fill_enlarged_window <#opt-kitty .scrollback_fill_enlarged_window> . : map f1 toggle_layout stack (Marks) remove_marker scroll_to_mark toggle_marker / create_marker (Miscellaneous) send_key . . . . combine . : map f1 send_key ctrl+x alt+y map f1 combine : send_key ctrl+x : send_key alt+y send_text send_text <#shortcut-kitty.Send- arbitrary-text-on-key-presses> . : ctrl+shift+alt+h <#shortcut-kitty.Send-arbitrary-text-on-key-presses> show_kitty_doc kitty . : # map f1 show_kitty_doc conf # ssh kitten map f1 show_kitty_doc kittens/ssh : ctrl+shift+f1 <#shortcut-kitty.Show-documentation> signal_child SIGNAL : map f1 signal_child SIGTERM clear_terminal reset_terminal <#shortcut-kitty .Reset-the-terminal> . : # map f1 clear_terminal reset active # map f1 clear_terminal clear active # map f1 clear_terminal scrollback active # map f1 clear_terminal scroll active # ( ) # . map f1 clear_terminal to_cursor active # map f1 clear_terminal to_cursor_scroll active # ( ) map f1 clear_terminal last_command active : cmd+l <#shortcut-kitty.Clear-the-last-command>, cmd+ctrl+l <#shortcut- kitty.Clear-screen>, option+cmd+k <#shortcut-kitty.Clear-scrollback>, cmd+k <#shortcut-kitty.Clear-to-start>, ctrl+shift+delete <#shortcut- kitty.Reset-the-terminal> combine : map key combine action1 action2 action3 ... : map kitty_mod+e combine : new_window : next_layout map kitty_mod+e combine | new_tab | goto_tab -1 command_palette (Command palette <>) : ctrl+shift+f3 <#shortcut-kitty.Command-palette> disable_ligatures_in / (ligatures) disable_ligatures <#opt-kitty .disable_ligatures> discard_event edit_config_file kitty.conf : ctrl+shift+f2 <#shortcut-kitty.Edit-config-file> grab_keyboard . kitty . . / / . Wayland inhibit-keyboard-shortcuts . macOS . hide_macos_app kitty macOS : cmd+h <#shortcut-kitty.Hide-macOS-kitty-application> hide_macos_other_apps macOS : opt+cmd+h <#shortcut-kitty.Hide-macOS-other-applications> input_unicode_character . Unicode input <> . kitten kitten . Custom kittens <> : o Selecting files, fast <> - ctrl+shift+p>d <#shortcut-kitty.Insert- chosen-directory> o Selecting files, fast <> - ctrl+shift+p>c <#shortcut-kitty.Insert- chosen-file> o Hints <> - ctrl+shift+p>h <#shortcut-kitty.Insert-selected-hash> o Hints <> - ctrl+shift+p>l <#shortcut-kitty.Insert-selected-line> o Hints <> - ctrl+shift+p>f <#shortcut-kitty.Insert-selected-path> o Hints <> - ctrl+shift+p>w <#shortcut-kitty.Insert-selected-word> o Hints <> - ctrl+shift+p>shift+f <#shortcut-kitty.Open-selected-path> o Hints <> - ctrl+shift+p>n <#shortcut-kitty.Open-the-selected-file-at- the-selected-line> o Hints <> - ctrl+shift+p>y <#shortcut-kitty.Open-the-selected- hyperlink> o Unicode input <> - ctrl+shift+u <#shortcut-kitty.Unicode-input> kitty_shell kitty kitty : ctrl+shift+escape <#shortcut-kitty.Open-the-kitty-command-shell> launch // . The launch command <> load_config_file . . : map f5 load_config_file /path/to/some/kitty.conf : ctrl+shift+f5 <#shortcut-kitty.Reload-kitty.conf> macos_cycle_through_os_windows macOS : cmd+` <#shortcut-kitty.macOS-Cycle-through-OS-Windows> macos_cycle_through_os_windows_backwards macOS : cmd+shift+` <#shortcut-kitty.macOS-Cycle-through- OS-Windows-backwards> minimize_macos_window macOS : cmd+m <#shortcut-kitty.Minimize-macOS-window> open_url (URL) : shift+cmd+/ <#shortcut-kitty.Open-kitty-Website> open_url_with_hints (URL) : ctrl+shift+e <#shortcut-kitty.Open-URL> pop_keyboard_mode . push_keyboard_mode . remote_control : map f1 remote_control set-spacing margin=30 Mapping key presses to remote control commands <#rc-mapping> . remote_control_script : map f1 remote_control_script /path/to/script arg1 arg2 ... Mapping key presses to remote control commands <#rc-mapping> . kitty . set_colors kitten @ set-colors <#at-set-colors> . : map f5 set_colors --configured /path/to/some/config/file/colors.conf show_error sleep . s m h d . . toggle_macos_secure_keyboard_entry macOS : opt+cmd+s <#shortcut-kitty.Toggle-macOS-secure- keyboard-entry> ungrab_keyboard no_op no_op kitty . (Mouse actions) mouse_click_url (URL) mouse_click_url_or_select (URL) mouse_handle_click . : selection - link - prompt - Mouse actions <#conf-kitty- mouse-mousemap> mouse_select_command_output Shell integration <#shell-integration> mouse_selection Mouse actions <#conf-kitty- mouse-mousemap> mouse_show_command_output less Shell integration <#shell-integration> paste_selection (Primary selection) paste_selection_or_clipboard (Scrolling) scroll_end : ctrl+shift+end <#shortcut-kitty.Scroll-to-bottom> scroll_home : ctrl+shift+home <#shortcut-kitty.Scroll-to-top> scroll_line_down . remote_control scroll-window . smooth . : map kitty_mod+down scroll_line_down smooth : ctrl+shift+down <#shortcut-kitty.Scroll-line-down> scroll_line_up . remote_control scroll-window . smooth . : map kitty_mod+up scroll_line_up smooth : ctrl+shift+up <#shortcut-kitty.Scroll-line-up> scroll_page_down . remote_control scroll-window . : ctrl+shift+page_down <#shortcut-kitty.Scroll-page- down> scroll_page_up . remote_control scroll-window . : ctrl+shift+page_up <#shortcut-kitty.Scroll-page- up> scroll_prompt_to_bottom scroll_prompt_to_top . scroll_prompt_to_top y scroll_to_prompt / . Shell integration <#shell-integration> . : . . -1 . --jump-target less scrolloff vim . 0 . : map ctrl+p scroll_to_prompt -1 3 # map ctrl+n scroll_to_prompt 1 # map ctrl+o scroll_to_prompt 0 # : ctrl+shift+x <#shortcut-kitty.Scroll-to-next- shell-prompt> ctrl+shift+z <#shortcut-kitty.Scroll-to-previous- shell-prompt> search_scrollback less. . / . : ctrl+shift+/ <#shortcut-kitty.Search-the- scrollback-within-a-pager> show_first_command_output_on_screen less Shell integration <#shell-integration> show_last_command_output less Shell integration <#shell-integration> : ctrl+shift+g <#shortcut-kitty.Browse-output-of- the-last-shell-command-in-pager> show_last_non_empty_command_output less Shell integration <#shell-integration> show_last_visited_command_output scroll_to_prompt less Shell integration <#shell-integration> show_scrollback less : ctrl+shift+h <#shortcut-kitty.Browse-scrollback- buffer-in-pager> (Sessions) close_session . :: # map f1 close_session # map f1 close_session . # map f1 close_session "my session" # map f1 close_session "/path/to/session/file.kitty-session" goto_session . Creating/Switching to sessions with a keypress <#goto-session> . save_as_session kitty . The save_as_session action <#save-as-session> . (Tab management) close_other_tabs_in_os_window close_tab : ctrl+shift+q <#shortcut-kitty.Close-tab> detach_tab . . detaching windows <#detach-window> . goto_tab . select_tab . move_tab_backward . . : ctrl+shift+, <#shortcut-kitty.Move-tab-backward> move_tab_forward . . : ctrl+shift+. <#shortcut-kitty.Move-tab-forward> new_tab : ctrl+shift+t <#shortcut-kitty.New-tab> new_tab_with_cwd . <# sessions> ( ) . next_tab : ctrl+shift+right <#shortcut-kitty.Next-tab> previous_tab : ctrl+shift+left <#shortcut-kitty.Previous-tab> select_tab set_tab_title . . ("") . (" ") . : # map f1 set_tab_title # map f2 set_tab_title some title # map f3 set_tab_title "" # map f3 set_tab_title " " : ctrl+shift+alt+t <#shortcut-kitty.Set-tab-title> (Window management) set_window_title . . ("") . (" ") . : # map f1 set_window_title # map f2 set_window_title some title # map f3 set_window_title "" # map f3 set_window_title " " close_other_windows_in_tab eighth_window : ctrl+shift+8 <#shortcut-kitty.Eighth-window> fifth_window : ctrl+shift+5 <#shortcut-kitty.Fifth-window> first_window : ctrl+shift+1 <#shortcut-kitty.First-window> focus_visible_window . . visual_window_select_characters <#opt-kitty .visual_window_select_characters> . : ctrl+shift+f7 <#shortcut-kitty.Visually-select-and-focus- window> fourth_window : ctrl+shift+4 <#shortcut-kitty.Fourth-window> move_window : map ctrl+left move_window left map ctrl+down move_window bottom move_window_backward ( ) : ctrl+shift+b <#shortcut-kitty.Move-window-backward> move_window_forward ( ) : ctrl+shift+f <#shortcut-kitty.Move-window-forward> move_window_to_top ( ) : ctrl+shift+` <#shortcut-kitty.Move-window-to-top> neighboring_window : map ctrl+left neighboring_window left map ctrl+down neighboring_window bottom next_window . (overlay) . : ctrl+shift+] <#shortcut-kitty.Next-window> ninth_window : ctrl+shift+9 <#shortcut-kitty.Ninth-window> nth_window n- . . : # map ctrl+p nth_window -1 # map ctrl+1 nth_window 0 previous_window . (overlay) . : ctrl+shift+[ <#shortcut-kitty.Previous-window> reset_window_sizes resize_window <#window-resizing> . second_window : ctrl+shift+2 <#shortcut-kitty.Second-window> seventh_window : ctrl+shift+7 <#shortcut-kitty.Seventh-window> sixth_window : ctrl+shift+6 <#shortcut-kitty.Sixth-window> swap_with_window . visual_window_select_characters <#opt-kitty .visual_window_select_characters> . : ctrl+shift+f8 <#shortcut-kitty.Visually-swap-window-with- another> tenth_window : ctrl+shift+0 <#shortcut-kitty.Tenth-window> third_window : ctrl+shift+3 <#shortcut-kitty.Third-window> close_os_window : shift+cmd+w <#shortcut-kitty.Close-OS-window> close_other_os_windows close_window : ctrl+shift+w <#shortcut-kitty.Close-window> close_window_with_confirmation . ( <#shell- integration>) : map f1 close_window_with_confirmation ignore-shell detach_window <#detach-window> . new_os_window : ctrl+shift+n <#shortcut-kitty.New-OS-window> new_os_window_with_cwd . <#sessions> ( ) . new_window : ctrl+shift+enter <#shortcut-kitty.New-window> new_window_with_cwd . <# sessions> ( ) . nth_os_window n- . . kitty . : # kitty map ctrl+p nth_os_window -1 # kitty ( ) map ctrl+0 nth_os_window 0 # kitty map ctrl+1 nth_os_window 1 # kitty map ctrl+1 nth_os_window 999 quit : cmd+q <#shortcut-kitty.Quit-kitty> set_background_opacity : map f1 set_background_opacity +0.1 map f2 set_background_opacity -0.1 map f3 set_background_opacity 0.5 : ctrl+shift+a>l <#shortcut-kitty.Decrease-background- opacity>, ctrl+shift+a>1 <#shortcut-kitty.Make-background-fully- opaque>, ctrl+shift+a>m <#shortcut-kitty.Increase-background-opacity>, ctrl+shift+a>d <#shortcut-kitty.Reset-background-opacity> start_resizing_window <#window-resizing> . : ctrl+shift+r <#shortcut-kitty.Start-resizing-window> toggle_fullscreen : ctrl+shift+f11 <#shortcut-kitty.Toggle-fullscreen> toggle_maximized : ctrl+shift+f10 <#shortcut-kitty.Toggle-maximized> toggle_tab . . . <#search-syntax> . : map f1 toggle_tab title:mytab toggle_window_title_bars ( window_title_bar_min_windows <#opt-kitty.window_title_bar_min_windows>) . . . . . (Wide gamut color formats) kitty (wide gamut) . ( foreground background color0-color255 ) . OKLCH OKLCH . : foreground oklch(0.9 0.05 140) color1 oklch(0.7 0.25 25) : o L ( - Lightness): o C ( - Chroma): . () o H ( - Hue): (= = =) : o - o ( HSL) o : foreground oklch(0.9 0.05 140) color1 oklch(0.65 0.25 29) # - color2 oklch(0.65 0.25 142) # color3 oklch(0.70 0.19 90) # CIE LAB CIE LAB . : background lab(20 5 -10) color4 lab(50 0 -50) : o L: ( = = ) o a: (-) (+) - + o b: (-) (+) - + : background lab(10 0 0) # foreground lab(90 0 0) # color1 lab(50 60 40) # color4 lab(50 0 -50) # (Gamut Mapping) OKLCH CIE LAB sRGB kitty CSS Color Module Level 4 : o o ( ) o (deltaE OK) o sRGB . - . oklch(0.7 0.4 25) sRGB . (REFERENCES) o CSS Color Module Level 4 o OKLCH Color Space (AUTHOR) Kovid Goyal (COPYRIGHT) 2026, Kovid Goyal 0.48.2 July 30, 2026 kitty.conf(5)